Submission #1093044
Source Code Expand
#include <iostream> #include <cstdio> #include <algorithm> #include <cmath> #include <cstdlib> #include <vector> #include <set> #include <map> #include <cassert> #include <queue> #include <ctime> #include <string> #include <cstring> #define mp make_pair #define pb push_back #define NAME "" #define y1 y1_423 #define list lista using namespace std; typedef long long ll; typedef long double ld; template<typename T> ostream& operator << (ostream& cout, const vector<T> &a) { if ((int)a.size() == 0) { return (cout << "()"); } cout << "(" << a[0]; for (int i = 1; i < (int)a.size(); i++) { cout << "; " << a[i]; } return (cout << ")"); } template<typename T> ostream& operator << (ostream& cout, const set<T> &a) { if ((int)a.size() == 0) { return (cout << "{}"); } auto it = a.begin(); cout << "{" << *it; ++it; for (; it != a.end(); ++it) { cout << "; " << *it; } return (cout << "}"); } template<typename T> ostream& operator << (ostream& cout, const multiset<T> &a) { if ((int)a.size() == 0) { return (cout << "{}"); } auto it = a.begin(); cout << "{" << *it; ++it; for (; it != a.end(); ++it) { cout << "; " << *it; } return (cout << "}"); } template<typename T1, typename T2> ostream& operator << (ostream& cout, const pair<T1, T2> &a) { return cout << "(" << a.first << "; " << a.second << ")"; } const int nmax = 2000 * 1000; const int inf = 2000 * 1000 * 1000; const ll infl = 1000ll * 1000ll * 1000ll * 1000ll * 1000ll * 1000ll; const int mod = 1000 * 1000 * 1000 + 7; const ld pi = acos(-1.0); ll n; ll sum = 0, a[nmax], b[nmax]; int main() { //freopen("input.txt", "r", stdin);freopen("output.txt", "w", stdout); //freopen(NAME".in", "r", stdin);freopen(NAME".out", "w", stdout); cin >> n; for (int i = 0; i < n; i++) { scanf("%lld", &a[i]); sum += a[i]; } if (sum % (n * (n + 1) / 2) != 0) { cout << "NO\n"; return 0; } ll cnt = sum /= (n * (n + 1)) / 2; for (int i = 0; i < n; i++) { b[i] = a[i] - a[(i + n - 1) % n] - cnt; if (b[i] == 0) { continue; } if (b[i] > 0) { cout << "NO\n"; return 0; } b[i] = -b[i]; if (b[i] % n != 0) { cout << "NO\n"; return 0; } sum -= b[i] / n; } if (sum != 0) { cout << "NO\n"; return 0; } cout << "YES\n"; return 0; }
Submission Info
Submission Time | |
---|---|
Task | B - Boxes |
User | flyrise |
Language | C++14 (GCC 5.4.1) |
Score | 500 |
Code Size | 2384 Byte |
Status | AC |
Exec Time | 17 ms |
Memory | 1792 KB |
Compile Error
./Main.cpp: In function ‘int main()’: ./Main.cpp:84:23: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result] scanf("%lld", &a[i]); ^
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 |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
in1.txt | AC | 15 ms | 1792 KB |
in10.txt | AC | 4 ms | 384 KB |
in11.txt | AC | 15 ms | 1024 KB |
in12.txt | AC | 15 ms | 1024 KB |
in13.txt | AC | 13 ms | 896 KB |
in14.txt | AC | 3 ms | 256 KB |
in15.txt | AC | 3 ms | 256 KB |
in16.txt | AC | 3 ms | 256 KB |
in17.txt | AC | 3 ms | 256 KB |
in18.txt | AC | 3 ms | 256 KB |
in19.txt | AC | 3 ms | 256 KB |
in2.txt | AC | 17 ms | 1792 KB |
in20.txt | AC | 3 ms | 256 KB |
in21.txt | AC | 15 ms | 1152 KB |
in22.txt | AC | 15 ms | 1024 KB |
in23.txt | AC | 15 ms | 1024 KB |
in24.txt | AC | 3 ms | 256 KB |
in25.txt | AC | 4 ms | 384 KB |
in26.txt | AC | 14 ms | 1024 KB |
in27.txt | AC | 14 ms | 1024 KB |
in3.txt | AC | 17 ms | 1792 KB |
in4.txt | AC | 17 ms | 1792 KB |
in5.txt | AC | 16 ms | 1792 KB |
in6.txt | AC | 15 ms | 1024 KB |
in7.txt | AC | 15 ms | 1024 KB |
in8.txt | AC | 4 ms | 384 KB |
in9.txt | AC | 4 ms | 384 KB |
sample1.txt | AC | 3 ms | 256 KB |
sample2.txt | AC | 3 ms | 256 KB |
sample3.txt | AC | 3 ms | 256 KB |