// UUID: 3edc7eba-d54f-4eb1-aa66-92b2414323a6
#include <bits/stdc++.h>
using namespace std;
int main() {
int n, k;
cin>>n>>k;
vector<pair<int, int>> kut(n+1);
for(int i=1;i<=n;i++){
cin>>kut[i].first>>kut[i].second;
}
stack<int> mini;
vector<int> nex(n+1);
mini.push(0);
int tav=0;
vector<int> pref(n+1);
for(int i=1;i<n;i++){
pref[i+1]=pref[i]+kut[i].first;
}
for(int i=n;i>0;i--){
while(kut[mini.top()].second>=kut[i].second){
mini.pop();
}
if(pref[mini.top()]-pref[i]>k)nex[i]=-1;
else nex[i]=mini.top();
mini.push(i);
}
vector<pair<int, int>> valasz;
int mennyi=0, kolt=0;
for(int i=1;i<=n;i++){
if(nex[i]==-1){
kolt+=(k-mennyi)*kut[i].second;
valasz.push_back({i, k-mennyi});
mennyi=k;
}
else{
kolt+=(pref[nex[i]]-pref[i]-mennyi)*kut[i].second;
if(pref[nex[i]]-pref[i]-mennyi>0){
valasz.push_back({i, pref[nex[i]]-pref[i]-mennyi});
}
mennyi+=pref[nex[i]]-pref[i]-mennyi;
}
mennyi-=kut[i].first;
}
cout<<kolt<<' '<<valasz.size();
for(int i=0;i<valasz.size();i++){
cout<<valasz[i].first<<' '<<valasz[i].second()<<'\n';
}
}
open /var/local/lib/isolate/436/box/a.out: no such file or directory
main.cpp: In function 'int main()':
main.cpp:47:61: error: expression cannot be used as a function
47 | cout<<valasz[i].first<<' '<<valasz[i].second()<<'\n';
| ~~~~~~~~~~~~~~~~^~