Submission #1295163
Source Code Expand
#include <algorithm> #include <cmath> #include <iostream> #include <map> #include <queue> #include <set> #include <string> #include <vector> using namespace std; typedef long long ll; typedef vector<int> vint; typedef pair<int,int> pint; typedef vector<pint> vpint; #define rep(i,n) for(int i=0;i<(n);i++) #define REP(i,n) for(int i=n-1;i>=(0);i--) #define reps(i,f,n) for(int i=(f);i<(n);i++) #define each(it,v) for(__typeof((v).begin()) it=(v).begin();it!=(v).end();it++) #define all(v) (v).begin(),(v).end() #define eall(v) unique(all(v), v.end()) #define pb push_back #define mp make_pair #define fi first #define se second #define chmax(a, b) a = (((a)<(b)) ? (b) : (a)) #define chmin(a, b) a = (((a)>(b)) ? (b) : (a)) const int MOD = 1e9 + 7; const int INF = 1e9; const ll INFF = 1e18; #define int long long ll N; ll A[100010]; ll B[100010]; signed main(void){ scanf("%lld", &N); rep(i, N)scanf("%lld", &A[i]); ll sum = 0; rep(i, N) sum += A[i]; if(sum % (N*(N+1)/2)){ printf("NO\n"); return 0; } ll k = sum / (N*(N+1)/2); // printf("%lld\n", k); rep(i, N) B[i] = A[(i + 1) % N] - A[i % N]; rep(i, N) B[i] -= k; ll cnt = 0; rep(i, N){ if(B[i] > 0){ printf("NO\n"); return 0; } ll t = -B[i]; if(t % N){ printf("NO\n"); return 0; } // printf("t %lld\n", t); cnt += t / N; } if(cnt == k){ printf("YES\n"); }else{ printf("NO\n"); } return 0; }
Submission Info
Submission Time | |
---|---|
Task | B - Boxes |
User | mmxsrup |
Language | C++14 (Clang 3.8.0) |
Score | 500 |
Code Size | 1476 Byte |
Status | AC |
Exec Time | 18 ms |
Memory | 1792 KB |
Judge Result
Set Name | Sample | All | ||||
---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 500 / 500 | ||||
Status |
|
|
Set Name | Test Cases |
---|---|
Sample | sample1.txt, sample2.txt, sample3.txt |
All | sample1.txt, sample2.txt, sample3.txt, in1.txt, in10.txt, in11.txt, in12.txt, in13.txt, in14.txt, in15.txt, in16.txt, in17.txt, in18.txt, in19.txt, in2.txt, in20.txt, in21.txt, in22.txt, in23.txt, in24.txt, in25.txt, in26.txt, in27.txt, in3.txt, in4.txt, in5.txt, in6.txt, in7.txt, in8.txt, in9.txt, sample1.txt, sample2.txt, sample3.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
in1.txt | AC | 16 ms | 1792 KB |
in10.txt | AC | 3 ms | 384 KB |
in11.txt | AC | 15 ms | 1792 KB |
in12.txt | AC | 15 ms | 1792 KB |
in13.txt | AC | 13 ms | 1536 KB |
in14.txt | AC | 1 ms | 256 KB |
in15.txt | AC | 1 ms | 256 KB |
in16.txt | AC | 1 ms | 256 KB |
in17.txt | AC | 1 ms | 256 KB |
in18.txt | AC | 1 ms | 256 KB |
in19.txt | AC | 1 ms | 256 KB |
in2.txt | AC | 17 ms | 1792 KB |
in20.txt | AC | 1 ms | 256 KB |
in21.txt | AC | 13 ms | 1024 KB |
in22.txt | AC | 13 ms | 1024 KB |
in23.txt | AC | 13 ms | 1024 KB |
in24.txt | AC | 2 ms | 384 KB |
in25.txt | AC | 3 ms | 384 KB |
in26.txt | AC | 15 ms | 1792 KB |
in27.txt | AC | 15 ms | 1792 KB |
in3.txt | AC | 18 ms | 1792 KB |
in4.txt | AC | 17 ms | 1792 KB |
in5.txt | AC | 17 ms | 1792 KB |
in6.txt | AC | 14 ms | 1024 KB |
in7.txt | AC | 13 ms | 1024 KB |
in8.txt | AC | 2 ms | 384 KB |
in9.txt | AC | 3 ms | 384 KB |
sample1.txt | AC | 1 ms | 256 KB |
sample2.txt | AC | 1 ms | 256 KB |
sample3.txt | AC | 1 ms | 256 KB |