Submission #877430

#TimeUsernameProblemLanguageResultExecution timeMemory
877430dead0neGlobal Warming (CEOI18_glo)C++17
100 / 100
47 ms8144 KiB
#pragma GCC optimize("unroll-loops,Ofast,O3") #include <bits/stdc++.h> #define pb push_back #define mp make_pair #define spc << " " << #define endl "\n" #define all(x) x.begin(), x.end() #define int long long #define ii pair<int,int> #define vi vector<int> #define vii vector<ii> #define st first #define nd second #define inf 1000000009 #define MOD 1000000007 #define lim 200005 using namespace std; void solve(){ int n,x; cin >> n >> x; int arr[n+1], bef[n+1], aft[n+1]; for(int i=1; i<=n; i++) cin >> arr[i]; vector<int> lis; for(int i=1; i<=n; i++){ bef[i] = lower_bound(all(lis), arr[i]+x) - lis.begin(); //cerr << arr[i] spc bef[i] << endl; int pos = lower_bound(all(lis), arr[i]) - lis.begin(); if(pos == lis.size()) lis.pb(arr[i]); else lis[pos] = arr[i]; } lis.clear(); for(int i=n; i>=1; i--){ int pos = lower_bound(lis.begin(), lis.end(), arr[i], greater<int>()) - lis.begin(); if(pos == lis.size()) lis.pb(arr[i]); else lis[pos] = arr[i]; aft[i]=pos+1; } int ans=0; for(int i=1; i<=n; i++) ans = max(ans, bef[i]+aft[i]); cout << ans << endl; } signed main(){ ios_base::sync_with_stdio(false);cin.tie(0); #ifdef Local freopen("in","r",stdin); freopen("out","w",stdout); #endif /*freopen("fcolor.in","r",stdin); freopen("fcolor.out","w",stdout);*/ int t=1; //cin >> t; while(t--) solve(); }

Compilation message (stderr)

glo.cpp: In function 'void solve()':
glo.cpp:33:16: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   33 |         if(pos == lis.size()) lis.pb(arr[i]);
      |            ~~~~^~~~~~~~~~~~~
glo.cpp:40:16: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   40 |         if(pos == lis.size()) lis.pb(arr[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...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...