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

東大卒でメーカー勤務の私がセミリタイアするために投資や競プロを頑張っていこうという趣旨で始めたブログです。独身男性です。お金の大切さや今後の生き方も併せて伝えられたらと思います。

ABC159で書いたコード

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

namespace Atcoder20190616
{
    class ProgramA
    {
        static void Main(string args)
        {
            //入力
            string input = Console.ReadLine().Split(' ');
            int m = int.Parse(input[0]);
            int n = int.Parse(input[1]);

            //偶数同士の組み合わせと奇数同士の組み合わせなので、mC2とnC2を求める
            Console.WriteLine*1;
            
            //a=b=c=l/3のとき最大
            Console.WriteLine*2;
        } 
    }  

    class ProgramD
    {
        static void Main(string args)
        {
            
            //入力
            long n = long.Parse(Console.ReadLine());
            string a = Console.ReadLine().Split(' ');
            long[] num = new long[n];
            long sum = 0;

            //それぞれ数がいくつあるか数える
            for(int i = 0;i < n;i++)
            {
                long temp = long.Parse(a[i]);
                num[temp -1]++;
            }

            //とりあえずすべての数え方を見る
            for(int i = 0;i < n;i++)
            {
                sum += num[i] *(num[i] -1)/2;
            }

            //1つずつ禁止されたときに場合を除く(n-1する)。答を出力
            for(int i = 0;i < n;i++)
            {
                long temp = long.Parse(a[i]);
                Console.WriteLine(sum - num[temp-1] +1);
            }
            
        }
 
 
    }

}

*1:m-1)*m/2 + n*(n-1)/2);

        }
    }

    class ProgramB
    {
        static void Main(string args)
        {
            
            //入力
            string s = Console.ReadLine();
            int len = s.Length;
            
            for(int i = 0;i < (len - 1) /2;i++)
            {
                //回文かみる
                if(s[i] != s[(len-1) -i])
                {
                    Console.WriteLine("No");
                    return;
                }

                //前半が回文かみる
                if(s[i] != s[(len-1)/2 - i])
                {
                    Console.WriteLine("No");
                    return;
                }

                //後半が回文かみる
                if(s[(len + 3)/2 + i] != s[len - 1  - i])
                {
                    Console.WriteLine("No");
                    return;
                }

            }

            Console.WriteLine("Yes");
    
        }
    }

    class ProgramC
    {
        static void Main(string args)
        {
            
            //入力
            double l = double.Parse(Console.ReadLine(

*2:l/3.0)*(l/3.0)*(l/3.0