競プロをしながら、節約と株式投資でセミリタイアを目指す東大卒のブログ

東大卒でメーカー勤務の私がセミリタイアするために投資や競プロを頑張っていこうという趣旨で始めたブログです。独身男性です。火木土日に更新予定です。お金について考えています。

ABC161で書いたコード

using System;
using System.Numerics;
using System.Linq;
using System.Collections.Generic;
using System.Text;

namespace Atcoder20200404
{
    class ProgramA
    {
        static void Main(string args)
        {
            //入力
            string s = Console.ReadLine().Split(' ');
            long x = long.Parse(s[0]);
            long y = long.Parse(s[1]);
            long z = long.Parse(s[2]);

            //z,x,yの順で出力する
            Console.WriteLine(z + " " + x + " " + y);
        }
    }

    class ProgramB
    {
        static void Main(string args)
        {
            
            //入力
            string s = Console.ReadLine().Split(' ');
            long n = long.Parse(s[0]);
            long m = long.Parse(s[1]);
            string a = Console.ReadLine().Split(' ');
            long ai = new long[n];
            long sum = 0;
            long count  = 0;

            //総得票数を求める
            for(int i = 0i < n;i++)
            {
                ai[i] = long.Parse(a[i]);
                sum += ai[i];
            }

            //それぞれの商品が人気商品になるか判定
            for(int i = 0i < n;i++)
            {
                if(ai[i] >= (double)sum/4.0/(double)m)
                    count++;
            }
            
            //条件を満たすか判定
            if(count >= m)
                Console.WriteLine("Yes");
            else
                Console.WriteLine("No");
    
        }
    }

    class ProgramC
    {
        static void Main(string args)
        {
            
            //入力
            string s = Console.ReadLine().Split(' ');
            long n = long.Parse(s[0]);
            long k = long.Parse(s[1]);

            //nをkで割ったあまりにする
            n %= k;

            //k-nかnの小さい方を答とする
            Console.WriteLine(Math.Min(k - nn));
            
        } 
    }  

    class ProgramD
    {
        static void Main(string[] args)
        {
            
            //入力
            int k = int.Parse(Console.ReadLine());
            //キューを用意する
            Queue q = new Queue<int>();

            //1-9を入れる
            for(int i = 0;i < 9;i++)
                q.Enqueue(i+1);
            
            int temp = 0;

            //k回取り出して、答を出す。取り出した数に応じてルンルン数を追加する
            for(int i = 0i < k;i++)
            {
                temp = q.Dequeue();
                if(temp % 10 == 0)
                {  //下一桁0のとき
                    q.Enqueue(temp*10);
                    q.Enqueue(temp*10 + 1);
                }
                else if(temp % 10 == 9)
                { //下一桁9のとき
                    q.Enqueue(temp*10 - 1);
                    q.Enqueue(temp*10);
                }
                else
                {  //それ以外
                    q.Enqueue(temp*10 - 1);
                    q.Enqueue(temp*10);
                    q.Enqueue(temp*10 +1);
                }
            }

            //答え出力
            Console.WriteLine(temp);
            
        }
 
    }  
    
}