답안 #1116619

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
1116619 2024-11-22T02:31:57 Z 12345678 학생 (COCI14_studentsko) C++17
10 / 100
6 ms 788 KB
#include <bits/stdc++.h>

using namespace std;

const int nx=5e3+5;

int n, k, v[nx], t, l[nx], r[nx], g, res=INT_MAX, dp[nx];
map<int, int> mp;

int main()
{
    cin.tie(NULL)->sync_with_stdio(false);
    cin>>n>>k;
    g=n/k;
    for (int i=1; i<=n; i++) cin>>v[i], mp[-v[i]]=0, l[i]=INT_MAX, r[i]=0;
    for (auto &[x, y]:mp) y=(t/k)+1, t++;
    for (int i=1; i<=n; i++) v[i]=mp[-v[i]], l[v[i]]=min(l[v[i]], i), r[v[i]]=max(r[v[i]], i);
    for (int i=1; i<=g; i++)
    {
        dp[i]=i;
        if (i>1&&r[i]<l[i-1]) dp[i]=dp[i-1];
        //cout<<"dp "<<i<<' '<<dp[i]<<'\n';
        int cur=(n-(i-dp[i]+1)*k);
        for (int j=r[dp[i]]+1; j<=n; j++) if (v[j]==dp[i]-1) cur--;
        for (int j=1; j<l[i]; j++) if (v[j]==i+1) cur--;
        res=min(res, cur);
    }
    cout<<res;
}
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 336 KB Output is correct
2 Correct 1 ms 336 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 336 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 336 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 3 ms 592 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 3 ms 788 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 6 ms 592 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 3 ms 592 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 4 ms 592 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 3 ms 760 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 3 ms 592 KB Output isn't correct
2 Halted 0 ms 0 KB -