제출 #1179686

#제출 시각아이디문제언어결과실행 시간메모리
1179686NonozeSki 2 (JOI24_ski2)C++20
5 / 100
0 ms328 KiB
#include <bits/stdc++.h> using namespace std; #define int long long #define pb push_back #define sz(x) (int)x.size() #define all(x) (x).begin(), (x).end() #define rall(x) (x).rbegin(), (x).rend() #define fi first #define se second #define cmin(a, b) a=min(a, b) #define cmax(a, b) a=max(a, b) void solve(); signed main() { ios::sync_with_stdio(0); cin.tie(0); solve(); return 0; } int n, q, k; vector<pair<int, int>> a; void solve() { cin >> n >> k; a.resize(305, {k, 0}); for (int i=0; i<n; i++) { int x, y; cin >> x >> y; a[x]={min(a[x].fi, y), a[x].se+1}; } int nb=0, mini=k, ans=0; for (int i=0; i<305; i++) if (a[i].se) { if (mini==k) { a[i+1].se+=a[i].se-1; nb=1; ans+=k*(a[i].se-1); mini=a[i].fi; continue; } int past=a[i].se; if (a[i].se>nb) a[i].se-=nb, nb=0; else nb-=a[i].se, a[i].se=0; ans+=a[i].se*mini; nb+=past, cmin(mini, a[i].fi); } cout << ans << endl; }
#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...