Submission #686612

#TimeUsernameProblemLanguageResultExecution timeMemory
686612toma_ariciuMoney (IZhO17_money)C++17
0 / 100
1 ms308 KiB
/// banii banii banii /// 2 locuri in masina ca milionarii #include <iostream> #include <set> using namespace std; int n, v[1000005], ans = 1; set <int> values; int solve(int poz) { auto it = values.upper_bound(v[poz]); int aux; for(aux = poz + 1; aux <= n; aux++) { if(v[aux] < v[aux - 1]) break; auto it2 = values.upper_bound(v[aux]); if(it != it2) break; } for(int i = poz; i < aux; i++) values.insert(v[i]); return aux; } int main() { cin >> n; for(int i = 1; i <= n; i++) cin >> v[i]; int poz = 0; for(int i = 2; i <= n && !poz; i++) if(v[i] < v[i - 1]) poz = i; for(int i = 1; i < poz; i++) values.insert(v[i]); while(poz <= n) { poz = solve(poz); ans++; } cout << ans; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...