제출 #861156

#제출 시각아이디문제언어결과실행 시간메모리
861156RequiemGlobal Warming (CEOI18_glo)C++17
38 / 100
2060 ms9820 KiB
#include<bits/stdc++.h> #define int long long #define pb push_back #define fast ios_base::sync_with_stdio(false), cin.tie(nullptr), cout.tie(nullptr); #define MOD 1000000007 #define INF 1e18 #define fi first #define se second #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 sz(a) ((int)(a).size()) #define pi 3.14159265359 #define TASKNAME "globalwarming" template<typename T> bool maximize(T &res, const T &val) { if (res < val){ res = val; return true; }; return false; } template<typename T> bool minimize(T &res, const T &val) { if (res > val){ res = val; return true; }; return false; } using namespace std; typedef pair<int,int> ii; typedef pair<int,ii> iii; typedef vector<int> vi; const int MAXN = 2e5 + 9; int a[MAXN],lisright[MAXN],lisleft[MAXN]; int n,x,lis[MAXN],dp[MAXN]; int getlis(int n){ int ans = 0; fill(lis+1,lis+1+n,INF); for(int i=1;i<=n;i++){ int l=1,r=n,res=0; while(l<=r){ int mid = (l+r)>>1; if (lis[mid] < a[i]){ res = mid; l = mid + 1; } else r = mid - 1; } lis[res+1] = a[i]; ans = max(ans, res + 1); } return ans; } main() { fast; // freopen(TASKNAME".inp","r",stdin); // freopen(TASKNAME".out","w",stdout); cin>>n>>x; for(int i=1;i<=n;i++){ cin>>a[i]; } if (x==0){ cout<<getlis(n)<<endl; return 0; } //giam int ans = getlis(n); for(int i=1;i<=n;i++){ a[i] -= x; ans = max(ans,getlis(n)); } for(int i=1;i<=n;i++){ a[i]+=x; } for(int i=n;i>=1;i--){ a[i]+=x; ans = max(ans,getlis(n)); } cout<<ans<<endl; }

컴파일 시 표준 에러 (stderr) 메시지

glo.cpp:41:1: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
   41 | main()
      | ^~~~
#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...