Submission #169789

#TimeUsernameProblemLanguageResultExecution timeMemory
169789super_j6Money (IZhO17_money)C++14
0 / 100
3 ms508 KiB
#include <iostream> #include <cstdio> #include <algorithm> #include <stack> using namespace std; #define endl '\n' #define pi pair<int, int> const int maxn = 1000000; int n; pi a[maxn]; bool used[maxn]; stack<int> stk; int main(){ ios::sync_with_stdio(false); cin.tie(NULL); cin >> n; for(int i = 0; i < n; i++){ cin >> a[i].first; a[i].second = i; } sort(a, a + n); int ret = 0; for(int i = 0; i < n; i++){ if(stk.empty() || !a[i].second || !used[a[i].second - 1]){ stk.push(a[i].second); used[a[i].second] = 1; }else{ while(stk.top() != a[i].second - 1){ used[stk.top()] = 1; stk.pop(); ret++; } used[stk.top()] = 0; stk.pop(); stk.push(a[i].second); used[a[i].second] = 1; } } ret += stk.size(); cout << ret << endl; 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...