Submission #686620

#TimeUsernameProblemLanguageResultExecution timeMemory
686620toma_ariciuMoney (IZhO17_money)C++17
9 / 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, maxval = (*it); bool ok = 1; for(aux = poz + 1; aux <= n && ok; aux++) if(v[aux] < v[aux - 1] || v[aux] > maxval) ok = 0; if(!ok) aux--; 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 = n + 1; for(int i = 2; i <= n && (poz == n + 1); 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...