Submission #633522

#TimeUsernameProblemLanguageResultExecution timeMemory
633522Ahmed57지구 온난화 (NOI13_gw)C++14
19 / 40
1090 ms65536 KiB
#include <bits/stdc++.h> using namespace std; //BIT Fenwick tree int n ; int bit[6000001]={0}; void add(int e,int v){ while(e<=n*4){ bit[e]+=v; e+=e&-e; } } long long sum(int e){ long long res = 0; while(e>=1){ res+=bit[e]; e -= e&-e; } return res; } int main(){ cin>>n; vector<int> v,w,so;v.push_back(2); for(int i = 0;i<n;i++){ int x;cin>>x; w.push_back(x); so.push_back(x); } sort(so.begin(),so.end()); int z = 2; map<int,int>cmp; for(int i = 0;i<n;i++){ cmp[so[i]] = z++; if(i&&so[i]==so[i-1])z--; } for(int i = 0;i<n;i++){ v.push_back(cmp[w[i]]*2); } for(int i = 0;i<n;i++){ if(v[i]<v[i+1]){ add(v[i+1],-1); add(v[i],1); } } long long ma = 0; for(int i = 2;i<=cmp[so[n-1]]*2;i++){ ma = max(ma,sum(i)); } cout<<ma<<"\n"; }
#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...