Submission #936141

#TimeUsernameProblemLanguageResultExecution timeMemory
936141vjudge1Global Warming (CEOI18_glo)C++17
10 / 100
31 ms2648 KiB
#include <bits/stdc++.h> using namespace std; typedef long long ll ; typedef vector<int> vi; typedef pair<int,int> pii; #define pb push_back #define FOR(i,a,b) for(int i = (a); i <= (b) ; i++) #define FORD(i,a,b) for(int i = (a) ; i>= (b) ; i--) #define TASK "test" #define TASK1 "gues" #define eb emplace_back #define ed "\n" #define ALL(v) v.begin(),v.end() #define fi first #define se second #define BIT(i,x) (((x) >> (i))&1) const int maxn = 4e5 + 5 , mod = 1e9+7; const int d4x[4] = {-1, 0, 1, 0}; const int d4y[4] = {0, 1, 0, -1}; const int d8x[8] = {-1, -1, 0, 1, 1, 1, 0, -1}; const int d8y[8] = {0, 1, 1, 1, 0, -1, -1, -1}; int n,x,a[maxn],dp[maxn]; void read(){ cin>>n>>x; FOR(i,1,n) cin>>a[i]; } void solve(){ dp[1]=1; int res=1,l,r,m,ans; for(int i=2;i<=n;i++){ l=1, r=res, ans=0; while(l<=r){ m = (l+r)>>1; if(a[i]>a[dp[m]]){ l = m+1; ans=m; } else r= m-1; } if(ans==res) dp[++res] = i; if(a[i]<a[dp[ans+1]]) dp[ans+1] = i; } cout<<res; } signed main(){ ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); if(fopen(TASK".inp","r")){ freopen(TASK".inp","r",stdin); freopen(TASK".out","w",stdout); } if(fopen(TASK1".inp","r")){ freopen(TASK1".inp","r",stdin); freopen(TASK1".out","w",stdout); } int t = 1; while(t--){ read(); solve(); } }

Compilation message (stderr)

glo.cpp: In function 'int main()':
glo.cpp:54:16: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   54 |         freopen(TASK".inp","r",stdin);
      |         ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
glo.cpp:55:16: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   55 |         freopen(TASK".out","w",stdout);
      |         ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
glo.cpp:58:16: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   58 |         freopen(TASK1".inp","r",stdin);
      |         ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
glo.cpp:59:16: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   59 |         freopen(TASK1".out","w",stdout);
      |         ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
#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...