# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
477870 | 2021-10-04T09:51:38 Z | sumit_kk10 | 지구 온난화 (NOI13_gw) | C++17 | 503 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 = 1e6 + 5; const int MOD = 1e9 + 7; int n; vector<ll> a(N); void solve(){ cin >> 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; } } 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 | 5 ms | 8268 KB | Output is correct |
2 | Correct | 5 ms | 8140 KB | Output is correct |
3 | Correct | 4 ms | 8140 KB | Output is correct |
4 | Correct | 5 ms | 8140 KB | Output is correct |
5 | Correct | 5 ms | 8140 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 70 ms | 14840 KB | Output is correct |
2 | Correct | 68 ms | 14972 KB | Output is correct |
3 | Correct | 71 ms | 14840 KB | Output is correct |
4 | Correct | 72 ms | 14932 KB | Output is correct |
5 | Correct | 69 ms | 14904 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 112 ms | 19804 KB | Output is correct |
2 | Correct | 65 ms | 19772 KB | Output is correct |
3 | Correct | 114 ms | 19772 KB | Output is correct |
4 | Correct | 111 ms | 19788 KB | Output is correct |
5 | Correct | 111 ms | 19768 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Runtime error | 343 ms | 65540 KB | Execution killed with signal 9 |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Runtime error | 503 ms | 65540 KB | Execution killed with signal 9 |
2 | Halted | 0 ms | 0 KB | - |