Submission #477869

#TimeUsernameProblemLanguageResultExecution timeMemory
477869sumit_kk10Global Warming (NOI13_gw)C++17
19 / 40
539 ms65540 KiB
#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; a.resize(n, 0); 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(mp[k - 1] and mp[k + 1]){ --x; mp[k] = true; continue; } if(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 (stderr)

gw.cpp: In function 'void solve()':
gw.cpp:22:22: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::pair<long long int, int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   22 |     for(int i = 1; i < comp.size(); ++i){
      |                    ~~^~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...