Submission #878193

#TimeUsernameProblemLanguageResultExecution timeMemory
878193heeheeheehaawMoney (IZhO17_money)C++17
100 / 100
109 ms8492 KiB
#include <bits/stdc++.h> #pragma GCC optimize("O3,unroll-loops") using namespace std; int n, aib[1000005]; int v[1000005]; void update(int poz, int val) { for(int i = poz; i <= 1000000; i += (i & (-i))) aib[i] += val; return; } int query(int poz) { int sum = 0; for(int i = poz; i >= 1; i -= (i & (-i))) sum += aib[i]; return sum; } int main() { ios_base::sync_with_stdio(false); cin.tie(0), cout.tie(0); cin>>n; for(int i =1 ; i <= n; i++) cin>>v[i];; int rez = 1, prev = 0; vector<int> secv; for(int i = 1; i <= n; i++) { if(v[i] < v[i - 1] || query(v[i] - 1) - query(prev) > 0) { for(auto it : secv) update(it, 1); secv.clear(); secv.push_back(v[i]); prev = v[i]; rez++; } else { secv.push_back(v[i]); } } cout<<rez; 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...