# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
477874 | 2021-10-04T09:57:44 Z | sumit_kk10 | 지구 온난화 (NOI13_gw) | C++17 | 500 ms | 65540 KB |
#include <bits/stdc++.h> #define fast ios_base::sync_with_stdio(0);cin.tie(NULL);cout.tie(NULL) #define ll long long int #define ld long double using namespace std; const int N = 1000003; const int MOD = 1e9 + 7; void solve(){ int n; cin >> n; vector<ll> a(n); for(int i = 0; i < n; ++i) cin >> a[i]; vector<pair<long long, int> > comp; for(int i = 0; i < n; ++i) comp.push_back({a[i], i}); sort(comp.begin(), comp.end()); int ct = 1; a[comp[0].second] = ct; for(int i = 1; i < comp.size(); ++i){ if(comp[i].first != comp[i - 1].first) ++ct; a[comp[i].second] = ct; } vector<int> pos[ct + 2]; for(int i = 0; i < n; ++i) pos[a[i]].push_back(i); int x = 0; for(int j = 0; j < n; ++j){ int cur = j; while(a[cur] > 1 and cur < n) ++cur; if(cur != j){ j = cur - 1; ++x; } } unordered_map<int, bool> mp; for(auto k : pos[1]) mp[k] = true; int ans = x; for(int i = 2; i <= ct; ++i){ for(auto k : pos[i]){ if(k >= 1 and mp[k - 1] and mp[k + 1]){ --x; mp[k] = true; continue; } if(k >= 1 and mp[k - 1]){ if(k == n - 1) --x; mp[k] = true; continue; } if(mp[k + 1]){ if(k == 0) --x; mp[k] = true; continue; } if(k != 0 and k != n - 1) x++; mp[k] = true; } ans = max(ans, x); } cout << ans << "\n"; } int main(){ fast; int t = 1; // cin >> t; while(t--) solve(); return 0; }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 332 KB | Output is correct |
2 | Correct | 1 ms | 360 KB | Output is correct |
3 | Correct | 1 ms | 332 KB | Output is correct |
4 | Correct | 1 ms | 332 KB | Output is correct |
5 | Correct | 1 ms | 332 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 39 ms | 7852 KB | Output is correct |
2 | Correct | 38 ms | 7932 KB | Output is correct |
3 | Correct | 38 ms | 7928 KB | Output is correct |
4 | Correct | 38 ms | 7868 KB | Output is correct |
5 | Correct | 39 ms | 7868 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 58 ms | 12792 KB | Output is correct |
2 | Correct | 35 ms | 12816 KB | Output is correct |
3 | Correct | 64 ms | 12732 KB | Output is correct |
4 | Correct | 56 ms | 12732 KB | Output is correct |
5 | Correct | 59 ms | 12800 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Runtime error | 340 ms | 65540 KB | Execution killed with signal 9 |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Runtime error | 500 ms | 65540 KB | Execution killed with signal 9 |
2 | Halted | 0 ms | 0 KB | - |