Submission #482582

#TimeUsernameProblemLanguageResultExecution timeMemory
482582HazemGlobal Warming (CEOI18_glo)C++14
15 / 100
2091 ms844 KiB
#include <bits/stdc++.h>

#define LL long long
 
 
using namespace std;
 
const int N = 1e4+1;
const LL MOD = 1e9+7;

int a[N],dp[N];
int n,k;

int calc(){

    int ret = 0;
    for(int i=1;i<=n;i++){
        int mx = 0;
        for(int j=i-1;j>=1;j--)
            if(a[i]>a[j])mx = max(mx,dp[j]);
        dp[i] = mx+1;
        ret = max(ret,dp[i]);
    }

    return ret;
}

void op(int l,int r,int x){

    for(int i=l;i<=r;i++)
        a[i] += x;
}

int main(){
    
    scanf("%d%d",&n,&k);

    for(int i=1;i<=n;i++)
        scanf("%d",&a[i]);

    int ans = calc();
    for(int i=1;i<=n;i++){
        for(int j=-k;j<=k;j++){
            op(1,i,j);
            ans = max(ans,calc());
            op(1,i,-j);
            
            op(i,n,j);
            ans = max(ans,calc());
            op(i,n,-j);
        }
    }

    printf("%d\n",ans);
}   

Compilation message (stderr)

glo.cpp: In function 'int main()':
glo.cpp:36:10: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   36 |     scanf("%d%d",&n,&k);
      |     ~~~~~^~~~~~~~~~~~~~
glo.cpp:39:14: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   39 |         scanf("%d",&a[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...