Submission #1163776
Source Code Expand
#define _CRT_SECURE_NO_WARNINGS
#define _USE_MATH_DEFINES
#include "bits/stdc++.h"
using namespace std;
#define rep(i,n) for(int i=0;i<(n);++i)
#define rep2(i,a,b) for(int i=(a);i<(b);++i)
#define rrep(i,n) for(int i=(n)-1;i>=0;--i)
#define rrep2(i,a,b) for(int i=(a)-1;i>=b;--i)
#define range(i,a,b,c) for(int i=a;\
c>0?i<b:\
i>b;\
i+=c)
#define chmax(a, b) (a = (a) < (b) ? (b) : (a))
#define chmin(a, b) (a = (a) > (b) ? (b) : (a))
using ll = long long;
using ull = unsigned long long;
using ld = long double;
#define all(a) begin(a),end(a)
#define ifnot(a) if(not (a))
#define dump(x) cerr << #x << " = " << (x) << endl
#define int long long
#ifdef _MSC_VER
const bool test = true;
#else
const bool test = false;
#endif
int dx[] = { 1,0,-1,0 };
int dy[] = { 0,1,0,-1 };
const int INF = 1 << 28;
const ll INFL = (ll)1 << 58;
ll mod_n = (int)1e9 + 7;
const double eps = 1e-10;
typedef long double Real;
// return -1, 0, 1
int sgn(const Real& r) { return (r > eps) - (r < -eps); }
int sgn(const Real& a, const Real &b) { return sgn(a - b); }
//.....................
const int MAX = (int)2e5 + 5;
vector<string> split(const string &str, char sep) {
vector<string> v;
stringstream ss(str);
string buffer;
while (getline(ss, buffer, sep)) {
v.push_back(buffer);
}
return v;
}
template<class InputIterator>
int sum(InputIterator begin, InputIterator end) {
return accumulate(begin, end, 0ll);
}
int n;
vector<int> a;
int e[MAX];
bool ok() {
if (sum(all(a)) % (n*(n+1)/2) != 0) return false;
int k = sum(all(a)) / (n*(n+1)/2);
rep(i, n) {
e[i] = a[(i+1)%n] - a[i] - k;
if (e[i] == 0) continue;
if (e[i] > 0) return false;
if (abs(e[i]) % n != 0) return false;
}
return true;
}
void solve() {
cin >> n;
a.resize(n);
rep(i, n) cin >> a[i];
puts(ok() ? "YES" : "NO");
}
signed main() {
cout << fixed << setprecision(20);
while(true) {
char s[MAX];
if (scanf("%s", s) == EOF) break;
int n = strlen(s);
for (int i = n - 1; i > -1; i--) {
ungetc(s[i], stdin);
}
solve();
}
return 0;
}
Submission Info
Submission Time |
|
Task |
B - Boxes |
User |
naimonon77 |
Language |
C++14 (GCC 5.4.1) |
Score |
500 |
Code Size |
2189 Byte |
Status |
AC |
Exec Time |
43 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 |
33 ms |
1792 KB |
in10.txt |
AC |
5 ms |
384 KB |
in11.txt |
AC |
43 ms |
1024 KB |
in12.txt |
AC |
41 ms |
1024 KB |
in13.txt |
AC |
34 ms |
1024 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 |
42 ms |
1792 KB |
in20.txt |
AC |
1 ms |
256 KB |
in21.txt |
AC |
40 ms |
1024 KB |
in22.txt |
AC |
40 ms |
1024 KB |
in23.txt |
AC |
40 ms |
1024 KB |
in24.txt |
AC |
3 ms |
256 KB |
in25.txt |
AC |
5 ms |
384 KB |
in26.txt |
AC |
40 ms |
1024 KB |
in27.txt |
AC |
40 ms |
1024 KB |
in3.txt |
AC |
42 ms |
1792 KB |
in4.txt |
AC |
42 ms |
1792 KB |
in5.txt |
AC |
42 ms |
1792 KB |
in6.txt |
AC |
41 ms |
1024 KB |
in7.txt |
AC |
41 ms |
1024 KB |
in8.txt |
AC |
5 ms |
384 KB |
in9.txt |
AC |
5 ms |
384 KB |
sample1.txt |
AC |
1 ms |
256 KB |
sample2.txt |
AC |
1 ms |
256 KB |
sample3.txt |
AC |
1 ms |
256 KB |