답안 #259211

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
259211 2020-08-07T12:05:07 Z Molukhyyeh 학생 (COCI14_studentsko) C++14
100 / 100
393 ms 49656 KB
#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define all(x) x.begin(),x.end() 

int const N = 5001;
int n, k, v[N];
short dp[N][N];
pair<int,int> a[N];

short go(int i, int j){
    if(i == (n+1))return 0;
    short &ret = dp[i][j];
    if(~ret)return ret;
    ret = go(i+1, j);
    if(v[i] >= v[j])ret = max((short)(go(i+1, i)+1), ret);
    return ret;
}

int main(){
    scanf("%d%d", &n, &k);
    for(int i = 1; i<=n; ++i){
      scanf("%d", v+i);
      a[i] = {v[i], i};
    }
    sort(a, a+(n+1));
    int c = 1, ct = 0;
    for(int i = 1; i<=n; ++i){
       v[a[i].second] = c;
       ++ct;
       if(ct == k)ct = 0, ++c;
    }
    memset(dp, -1, sizeof dp);
    int an = go(1, 0);
    printf("%d\n", n-an);
}

Compilation message

studentsko.cpp: In function 'int main()':
studentsko.cpp:21:10: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
     scanf("%d%d", &n, &k);
     ~~~~~^~~~~~~~~~~~~~~~
studentsko.cpp:23:12: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
       scanf("%d", v+i);
       ~~~~~^~~~~~~~~~~
# 결과 실행 시간 메모리 Grader output
1 Correct 26 ms 49272 KB Output is correct
2 Correct 29 ms 49272 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 26 ms 49272 KB Output is correct
2 Correct 26 ms 49272 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 26 ms 49280 KB Output is correct
2 Correct 27 ms 49280 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 393 ms 49528 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 354 ms 49536 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 273 ms 49536 KB Output is correct
2 Correct 284 ms 49528 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 312 ms 49656 KB Output is correct
2 Correct 354 ms 49528 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 351 ms 49656 KB Output is correct
2 Correct 307 ms 49612 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 355 ms 49644 KB Output is correct
2 Correct 364 ms 49656 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 340 ms 49640 KB Output is correct
2 Correct 363 ms 49656 KB Output is correct