Submission #117390

#TimeUsernameProblemLanguageResultExecution timeMemory
117390AbelyanGlobal Warming (CEOI18_glo)C++17
27 / 100
110 ms10812 KiB
#include <bits/stdc++.h> using namespace std; typedef long long ll; typedef unsigned long long ull; typedef long double ld; #define FOR(i,a) for (int i=0;i<(a);++i) #define FORD(i,a) for (int i=(a)-1;i>=0;i--) #define FORT(i,a,b) for (int i=(a);i<=(b);++i) #define FORTD(i,b,a) for (int i=(b);i>=(a);--i) #define trav(i,v) for (auto i : v) #define all(v) v.begin(),v.end() #define ad push_back #define fr first #define sc second #define mpr(a,b) make_pair(a,b) #define pir pair<int,int> #define all(v) v.begin(),v.end() #define make_unique(v) v.erase(unique(all(v),v.end())) #define fastio ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0); #define dbg(x); #define dbgv(v); #define srng mt19937 rng(chrono::steady_clock::now().time_since_epoch().count()) #define y1 EsiHancagorcRepa #ifdef ALEXPC #define dbg(x); cout<<#x<<" = "<<x<<endl #define dbgv(v); cout<<#v<<" = ["; trav(tv,v)cout<<"tv,";cout<<"]"<<endl #endif //const int N=100,M=N*N; const ll MOD=1000*1000*1000+7; const int N=1e6+6; int a[N]; vector<int> lis1(N),lis2(N); int main(){ fastio; srng; int n,x; cin>>n>>x; fill(all(lis1),INT_MAX); fill(all(lis2),INT_MAX); FOR(i,n){ cin>>a[i]; //cout<<a[i]<<endl; //lis2[max(lower_bound(all(lis1),a[i]+x)-lis1.begin(),lower_bound(all(lis2),a[i])-lis2.begin())]=a[i]; //cout<<i<<endl; //cout<<endl; lis2[lower_bound(all(lis1),a[i])-lis1.begin()]=min(lis2[lower_bound(all(lis1),a[i])-lis1.begin()],a[i]); //FOR(j,n)cout<<lis2[j]<<" "; //cout<<endl; lis2[lower_bound(all(lis1),a[i]+x)-lis1.begin()]=min(lis2[lower_bound(all(lis1),a[i]+x)-lis1.begin()],a[i]+x); //FOR(j,n)cout<<lis2[j]<<" "; //cout<<endl; *lower_bound(all(lis2),a[i]+x)=a[i]+x; //FOR(j,n)cout<<lis2[j]<<" "; //cout<<endl; *lower_bound(all(lis1),a[i])=a[i]; //FOR(j,n)cout<<lis2[j]<<" "; } FOR(i,n){ if (lis2[i]==INT_MAX){ cout<<i<<endl; return 0; } } return 0; }
#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...