171222025-05-23 20:09:18algoproAutózáscpp17Wrong answer 12/100300ms6120 KiB
// UUID: 28908013-1816-4e7d-9f96-5366a1d033c0
#include <bits/stdc++.h>
 
using namespace std;
 
#define ll long long
#define fs first
#define sc second
#define pb push_back
#define pll pair<ll, ll>
#define vll vector<ll>
#define v2ll vector<vll>
#define pqll priority_queue<ll>

const ll mod = 1e9+7;
const ll inf = LONG_LONG_MAX;

ll n, k;

void solve()
{
    cin >> n >> k;
    vector<pll> v(n);
    for (pll &i : v) cin >> i.fs >> i.sc;
    ll pos = n;
    vector<pll> dists;
    while(pos > 0) {
        ll ind = pos-1, dist = 0, mn = 1000, mni = pos-1, disti = 0;
        while(ind >= 0 && dist+v[ind].fs <= k) {
            dist += v[ind].fs;
            if (v[ind].sc < mn) {
                mn = v[ind].sc;
                mni = ind;
                disti = dist;
            }
            ind--;
        }
        pos = mni;
        dists.push_back({pos, disti});
    }
    reverse(dists.begin(), dists.end());
    ll ans = 0, tank = 0;
    vector<pll> vans;
    for (ll i = 0; i < dists.size(); i++) {
        if (i == dists.size()-1 || v[dists[i].fs].sc > v[dists[i+1].fs].sc) {
            ans += (dists[i].sc-tank)*v[dists[i].fs].sc;
            vans.push_back({dists[i].fs+1, dists[i].sc-tank});
            tank = 0;
        }
        else {
            ans += (k-tank)*v[dists[i].fs].sc;
            vans.push_back({dists[i].fs+1, k-dists[i].sc});
            tank = k-dists[i+1].sc;
        }
    }
    cout << ans  << ' ' << vans.size() << '\n';
    for (pll i : vans) cout << i.fs << ' ' << i.sc << '\n';
}
 
signed main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(NULL); cout.tie(NULL);
    ll t = 1;
    //cin >> t;
    while(t--)
    {
        solve();
    }
    return 0;
}
SubtaskSumTestVerdictTimeMemory
base12/100
1Wrong answer0/01ms316 KiB
2Wrong answer0/050ms4916 KiB
3Partially correct2/51ms316 KiB
4Accepted5/51ms316 KiB
5Wrong answer0/51ms316 KiB
6Wrong answer0/51ms316 KiB
7Accepted5/51ms316 KiB
8Wrong answer0/51ms316 KiB
9Wrong answer0/51ms316 KiB
10Wrong answer0/51ms388 KiB
11Wrong answer0/512ms1588 KiB
12Wrong answer0/518ms2100 KiB
13Wrong answer0/516ms1856 KiB
14Wrong answer0/530ms3124 KiB
15Time limit exceeded0/5300ms4460 KiB
16Time limit exceeded0/5300ms4320 KiB
17Time limit exceeded0/5300ms4380 KiB
18Time limit exceeded0/5275ms4228 KiB
19Time limit exceeded0/5287ms5596 KiB
20Time limit exceeded0/5291ms5808 KiB
21Time limit exceeded0/5300ms6120 KiB
22Time limit exceeded0/5284ms6064 KiB