제출 #503879

#제출 시각아이디문제언어결과실행 시간메모리
503879krit3379Global Warming (CEOI18_glo)C++14
100 / 100
59 ms4056 KiB
#include<bits/stdc++.h>
using namespace std;
#define N 300005

int a[N],b[N],dp[N];
vector<int> s1,s2;

int main(){
    int n,d,i,ans=0;
    scanf("%d %d",&n,&d);
    for(i=1;i<=n;i++)scanf("%d",&a[i]),b[i]=-a[i];
    for(i=1;i<=n;i++){
        int x=lower_bound(s1.begin(),s1.end(),a[i])-(s1.begin());
        if(x==s1.size())s1.push_back(a[i]);
        else s1[x]=a[i];
        dp[i]=x+1;
    }
    for(i=n;i>0;i--){
        int it=lower_bound(s2.begin(),s2.end(),b[i]+d)-(s2.begin());
        ans=max(ans,dp[i]+it);
        auto x=lower_bound(s2.begin(),s2.end(),b[i]);
        if(x==s2.end())s2.push_back(b[i]);
        else *x=b[i];
        //printf("i=%d dp=%d it=%d\n",i,dp1[i-1],it);
    }
    printf("%d\n",ans);
    return 0;
}

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

glo.cpp: In function 'int main()':
glo.cpp:14:13: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   14 |         if(x==s1.size())s1.push_back(a[i]);
      |            ~^~~~~~~~~~~
glo.cpp:10:10: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   10 |     scanf("%d %d",&n,&d);
      |     ~~~~~^~~~~~~~~~~~~~~
glo.cpp:11:27: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   11 |     for(i=1;i<=n;i++)scanf("%d",&a[i]),b[i]=-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...