제출 #538121

#제출 시각아이디문제언어결과실행 시간메모리
538121DJ035Global Warming (CEOI18_glo)C++17
10 / 100
2086 ms4336 KiB
#pragma GCC optimize("O3") #pragma GCC optimize("Ofast") #pragma GCC optimize("unroll-loops") #pragma GCC target("sse,sse2,sse3,ssse3,sse4,avx,avx2") #include <bits/stdc++.h> #define MEM 1111111 #define sanic ios_base::sync_with_stdio(0) #define x first #define y second #define pf push_front #define pb push_back #define all(v) v.begin(), v.end() #define sz size() using namespace std; typedef long long ll; typedef pair<ll, ll> pi; const ll INF = 1e17+7; const ll MOD = 998244353; ll gcd(ll a, ll b){ if(a%b) return gcd(b, a%b); return b; } ll t,n,m,a,b,x; ll ls(vector<ll> l){ ll ret=0; vector<int> lis; lis.pb(0); for(int i=0; i<n; i++){ if(lis.back()<l[i]) lis.pb(l[i]); else{ int idx=lower_bound(lis.begin(), lis.end(), l[i])-lis.begin(); lis[idx] = l[i]; } } ret = lis.sz-1; return ret; } signed main(){ sanic; cin.tie(0); cin >> n >> x; vector<ll> d; for(int i=0; i<n; i++){ ll q; cin >> q; d.pb(q); } ll ans=ls(d); if(!x){ cout << ans; return 0; } for(int j=0; j<n; j++){ vector<ll> g; g = d; for(int l=0; l<=j; l++) g[l] += x; ans = max(ls(g), ans); g = d; for(int l=0; l<=j; l++) g[l] -= x; ans = max(ls(g), ans); } cout << ans; }
#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...