Submission #582402

#TimeUsernameProblemLanguageResultExecution timeMemory
582402Mr_HusanboyGlobal Warming (CEOI18_glo)C++14
55 / 100
2070 ms10084 KiB
// Muallif: Mansuraliyev Husanboy Murotali o'g'li >> NamPS #pragma GCC optimize("Ofast") #include<bits/stdc++.h> using namespace std; #define ll long long #define ull unsigned long long #define ios ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL) #define all(a) a.begin(), a.end() #define F first #define S second #define fp(a,i,c) for(int (a) = (i); (a) < (c); (a)++) #define fm(a,i,c) for(int (a) = (i); (a) >= (c); (a)--) #define vii vector<int> #define vll vector<ll> // 0-9 >> 48-57; A-Z>>65-90 and a-z>>97-122 respectively; void solve(){ int n; ll x; cin>>n>>x; ll a[n]; for(int i=0;i<n;i++) cin>>a[i]; if(x==0){ set<int> st; set<int>::iterator it; for(int i=0; i<n; i++) { it = st.lower_bound(a[i]); if (it != st.end()) st.erase(it); st.insert(a[i]); } cout<<st.size()<<endl; // for(auto u:st) cout<<u<<" "; return; } if(x==1e9){ vector<int> l,r; set<int> st; set<int>::iterator it; for(int i=0; i<n; i++) { it = st.lower_bound(a[i]); if (it != st.end()) st.erase(it); st.insert(a[i]); l.push_back(st.size()); } st.clear(); int ans=0; reverse(a,a+n); for(int i=0; i<n; i++) { it = st.lower_bound(-a[i]); if (it != st.end()) st.erase(it); st.insert(-a[i]); r.push_back(st.size()); } reverse(all(r)); r.push_back(0); for(int i=0;i<n;i++){ ans=max(l[i]+r[i+1],ans); } cout<<ans<<"\n";return; } int ans=0; for(int j=0;j<n;j++){ for(int i=0;i<j;i++){ a[i]-=x; } set<int> st; set<int>::iterator it; st.clear(); for(int i=0; i<n; i++) { it = st.lower_bound(a[i]); if (it != st.end()) st.erase(it); st.insert(a[i]); } ans=max(ans,int(st.size())); //cout<<j<<": "<<st.size()<<"\n"; for(int i=0;i<j;i++) a[i]+=x; } cout<<ans<<"\n"; } int main(){ ios; // int t; cin>>t; while(t--) solve(); }
#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...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...