Submission #1131273

#TimeUsernameProblemLanguageResultExecution timeMemory
113127312345678Ski 2 (JOI24_ski2)C++20
12 / 100
1 ms328 KiB
#include <bits/stdc++.h>

using namespace std;

#define ll long long

const int nx=305;

ll n, mv, h[nx], c[nx], cnt[2*nx], t[2*nx], res, ans=1e18;

int main()
{
    cin.tie(NULL)->sync_with_stdio(false);
    cin>>n>>mv;
    for (int i=1; i<=n; i++) cin>>h[i]>>c[i];
    for (int i=2; i<=n; i++) if (h[i]==h[1]) h[i]++, res+=mv;
    for (int i=2; i<=n; i++) cnt[h[i]]++;
    if (n==1) return cout<<0, 0;
    for (int l=1; l<=n; l++)
    {
        ll mn=c[1]*(l-1);
        for (int i=1; i<2*nx; i++) t[i]=cnt[i];
        for (int i=1; i<2*nx; i++)
        {
            if (t[i]>l) mn+=mv*(t[i]-l), t[i+1]+=t[i]-l;
        }
        ans=min(ans, mn);
    }
    cout<<res+ans;
}
#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...