Submission #81966

#TimeUsernameProblemLanguageResultExecution timeMemory
81966SaboonCalvinball championship (CEOI15_teams)C++14
20 / 100
1082 ms908 KiB
#include <bits/stdc++.h> #define F first #define S second #define PB push_back #define PF push_front #define MP make_pair using namespace std; typedef long long ll; typedef long double ld; typedef pair<int,int> pii; const int maxn = 1e3 + 10; const int mod = 1e9 + 7; int a[maxn], b[maxn], par[maxn]; int main() { srand (time (NULL)); int n; cin >> n; int M = 0; for (int i = 1; i <= n; i++) { cin >> a[i]; M = max (M, a[i]); b[i] = 1; par[i] = 1; } if (M == 1) return cout << 1 << endl, 0; int cnt = 1; bool eq = false; while (!eq) { cnt ++; for (int i = n; i >= 1; i--) { if (b[i] != par[i - 1] + 1) { b[i] ++; par[i] = max (par[i], b[i]); for (int j = i + 1; j <= n; j++) { par[j] = par[j - 1]; b[j] = 1; } break; } } eq = true; for (int i = 1; i <= n; i++) if (a[i] != b[i]) eq = false; } cout << cnt << endl; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...