제출 #1117336

#제출 시각아이디문제언어결과실행 시간메모리
1117336KALARRYRabbit Carrot (LMIO19_triusis)C++14
63 / 100
35 ms4856 KiB
//chockolateman

#include<bits/stdc++.h>

using namespace std;

const int INF = 1e9;

int N,M,a[200005],b[200005],dp[200005];

int main()
{
    scanf("%d%d",&N,&M);
    for(int i = 1 ; i <= N ; i++)
    {
        scanf("%d",&a[i]);
        b[i] = M*i - a[i];
    }
    dp[0] = 0;
    for(int i = 1 ; i <= N ; i++)
        dp[i] = INF;
    int ans = 0;
    for(int i = 1 ; i <= N ; i++)
    {
        if(b[i] < 0)
            continue;
        int pos = upper_bound(dp,dp+N+1,b[i]) - dp - 1;
        dp[pos+1] = min(dp[pos+1],b[i]);
        ans = max(ans,pos+1);
    }
    printf("%d\n",N - ans);
    return 0;
}

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

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