제출 #1165095

#제출 시각아이디문제언어결과실행 시간메모리
1165095prideliqueeeStudentsko (COCI14_studentsko)C++20
100 / 100
3 ms584 KiB
#include<bits/stdc++.h>
using namespace std;
#define f first
#define s second
int main()
{
    int n,k;
    cin>>n>>k;
    map<int,int> m;
    for(int i=0;i<n;i++)
    {
        int a;
        cin>>a;
        m[a]=i;
    }
    vector<pair<int,int>> v;
    int i=0;
    for(auto [x,y]:m)
    {
        v.push_back({i/k,y});
        i++;
    }
    sort(v.begin(),v.end(),[](auto &a1,auto &a2)
    {
        if(a1.f==a2.f)
        return a1.s<a2.s;
        return a1.f<a2.f;
    });
    int dp[n];
    int sz=0;
    for(int i=0;i<n;i++)
    {
        int d=lower_bound(dp,dp+sz,v[i].s)-dp;
        if(d==sz)
        sz++;
        dp[d]=v[i].s;
    }
    cout<<n-sz;
}
#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...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...