제출 #702186

#제출 시각아이디문제언어결과실행 시간메모리
702186mychecksedadMoney (IZhO17_money)C++17
100 / 100
1477 ms62116 KiB
/* Author : Mychecksdead */ #include<bits/stdc++.h> using namespace std; typedef long long int ll; #define MOD (1000000000+7) #define MOD1 (998244353) #define PI 3.1415926535 #define pb push_back #define all(x) x.begin(), x.end() const int N = 1e6+100, M = 1e5+10, K = 20; int n, a[N], ans; set<int> s; vector<int> c; vector<bool> rem; void solve(){ cin >> n; c.resize(N); rem.resize(N); for(int i = 0; i < n; ++i) cin >> a[i]; for(int i = 0; i < n; ++i) s.insert(a[i]), c[a[i]]++; ans = 0; for(int i = n - 1; i >= 0; --i){ auto it = s.find(a[i]); assert(it != s.end()); ans++; vector<int> er; while(*it == a[i]){ if(er.empty()) er.pb(a[i]); else if(er.back() != a[i]) er.pb(a[i]); c[a[i]]--; --i; if(i == -1) break; if(c[a[i + 1]] > 0){ if(a[i] != a[i + 1]){ if(er[0] == a[i + 1]){ if(it == s.begin()) break; --it; } else break; } }else{ if(it == s.begin()) break; --it; } } for(int u: er){ if(c[u] == 0 && !rem[u]) s.erase(u), rem[u] = 1; } ++i; } cout << ans; } int main(){ cin.tie(0); ios::sync_with_stdio(0); int T = 1, aa; // freopen("out.txt", "r", stdin); // freopen("out.txt", "w", stdout); // cin >> T;aa=T; while(T--){ // cout << "Case #" << aa-T << ": "; solve(); } return 0; }

컴파일 시 표준 에러 (stderr) 메시지

money.cpp: In function 'int main()':
money.cpp:61:14: warning: unused variable 'aa' [-Wunused-variable]
   61 |   int T = 1, aa;
      |              ^~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...