Submission #395801

#TimeUsernameProblemLanguageResultExecution timeMemory
395801Pichon5Global Warming (CEOI18_glo)C++17
28 / 100
2088 ms5700 KiB
#include<bits/stdc++.h> #include <chrono> #include <thread> #define lcm(a,b) (a/__gcd(a,b))*b #define fast ios_base::sync_with_stdio(false);cin.tie(0);cout.tie(0); #define ll long long int #define vi vector<int> #define vll vector<ll> #define pb push_back #define F first #define S second #define mp make_pair //salida rapida "\n" //DECIMALES fixed<<sp(n)<<x<<endl; //gcd(a,b)= ax + by //lCB x&-x //set.erase(it) - ersases the element present at the required index//auto it = s.find(element) //set.find(element) - iterator pointing to the given element if it is present else return pointer pointing to set.end() //set.lower_bound(element) - iterator pointing to element greater than or equal to the given element //set.upper_bound(element) - iterator pointing to element greater than the given element // | ^ //__builtin_popcount(x) using namespace std; #pragma GCC target ("avx2") #pragma GCC optimization ("O3") #pragma GCC optimization ("unroll-loops") const ll inf=1e16; int main() { int n,k; cin>>n>>k; vll a(n+2); vll d; vll aux; for(int i=0;i<n;i++){ cin>>a[i]; } int res=0; aux=a; for(int j=n;j>=0;j--){ a[j]+=k; d.assign(n+2,inf); d[0]=-inf; for(int i=0;i<n;i++){ int b=1,e=n; while(b<=e){ int mid=(b+e)/2; if(a[i]<d[mid] && a[i]>d[mid-1]){ d[mid]=a[i]; break; } if(d[mid]>a[i]){ e=mid-1; }else{ b=mid+1; } } for(int i=1;i<=n;i++){ if(d[i]!=inf){ res=max(res,i); } } } } cout<<res<<endl; return 0; } //409336628

Compilation message (stderr)

glo.cpp:26: warning: ignoring #pragma GCC optimization [-Wunknown-pragmas]
   26 | #pragma GCC optimization ("O3")
      | 
glo.cpp:27: warning: ignoring #pragma GCC optimization [-Wunknown-pragmas]
   27 | #pragma GCC optimization ("unroll-loops")
      |
#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...