結果

問題 No.2451 Redistribute Integers
ユーザー k82bk82b
提出日時 2023-09-01 21:32:06
言語 D
(dmd 2.106.1)
結果
AC  
実行時間 112 ms / 2,000 ms
コード長 1,080 bytes
コンパイル時間 1,489 ms
コンパイル使用メモリ 166,572 KB
実行使用メモリ 23,364 KB
最終ジャッジ日時 2023-09-01 21:32:12
合計ジャッジ時間 3,961 ms
ジャッジサーバーID
(参考情報)
judge16 / judge15
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 1 ms
4,376 KB
testcase_01 AC 2 ms
4,380 KB
testcase_02 AC 2 ms
4,380 KB
testcase_03 AC 1 ms
4,376 KB
testcase_04 AC 112 ms
23,364 KB
testcase_05 AC 2 ms
4,380 KB
testcase_06 AC 1 ms
4,376 KB
testcase_07 AC 1 ms
4,376 KB
testcase_08 AC 73 ms
20,980 KB
testcase_09 AC 1 ms
4,376 KB
testcase_10 AC 1 ms
4,376 KB
testcase_11 AC 1 ms
4,376 KB
testcase_12 AC 35 ms
11,012 KB
testcase_13 AC 95 ms
20,688 KB
testcase_14 AC 111 ms
23,064 KB
testcase_15 AC 56 ms
12,116 KB
testcase_16 AC 45 ms
12,108 KB
testcase_17 AC 72 ms
18,960 KB
testcase_18 AC 94 ms
22,352 KB
testcase_19 AC 8 ms
4,560 KB
testcase_20 AC 77 ms
19,936 KB
testcase_21 AC 96 ms
23,204 KB
権限があれば一括ダウンロードができます

ソースコード

diff #

void main()
{
	const N=readInt;
	long sum=0;
	auto A=new int[N];
	foreach(i;0..N)
	{
		A[i]=readInt;
		sum+=A[i];
	}
	if(sum%N!=0)
	{
		writeln("No");
		return;
	}
	foreach(i;0..N)
	{
		if((A[0]%N+N)%N!=(A[i]%N+N)%N)
		{
			writeln("No");
			return;
		}
	}
	writeln("Yes");
}

import std;

string[]__READ;
string readString(){while(__READ.empty()){__READ=readln.chomp.split;}auto ret=__READ.front;__READ.popFront;return ret;}
int readInt(){return readString.to!int;}
uint readuInt(){return readString.to!uint;}
long readLong(){return readString.to!long;}
ulong readuLong(){return readString.to!ulong;}
double readDouble(){return readString.to!double;}
real readReal(){return readString.to!real;}

bool chmin(T)(ref T A,T B){if(A>B){A=B;return true;}else{return false;}}
bool chmax(T)(ref T A,T B){if(A<B){A=B;return true;}else{return false;}}

int lowerBound(T)(T[]A,T x){int L=-1,R=cast(int)A.length;while(R-L>1){int mid=(L+R)/2;(A[mid]<x?L:R)=mid;}return R;}
int upperBound(T)(T[]A,T x){int L=-1,R=cast(int)A.length;while(R-L>1){int mid=(L+R)/2;(A[mid]<=x?L:R)=mid;}return R;}
0