169582025-05-19 17:05:37algoproAutózáscpp17Hibás válasz 25/100137ms19828 KiB
// UUID: dfa3e1ae-9b4a-4793-8c3e-84ddf999e173
#include <bits/stdc++.h>
using namespace std;
#define int long long
signed main() {
	ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
	int n; cin>>n;
	int k; cin>>k;
	vector<int> kov(n),ar(n);
	for(int i=0; i<n; i++)
		cin>>kov[i]>>ar[i];
	priority_queue<array<int, 3>> q;
	vector<int> hany(n);
	int ans=0;
	for(int i=0; i<n; i++)
	{
		q.push({-ar[i],k,i});
		int kell=kov[i];
		while(kell>0)
		{
			auto [x,y,ind]=q.top();
			//cout<<x<<" "<<y<<" "<<ind<<endl;
			x=abs(x);
			if(y>kell)
			{
				y-=kell;
				hany[ind]+=kell;
				ans+=x*kell;
				kell=0;
				q.pop();
				q.push({-x,y,ind});
			}
			else
			{
				hany[ind]+=y;
				ans+=y*x;
				kell-=y;
				q.pop();
			}
		}
	}
	vector<array<int, 2>> s;
	for(int i=0; i<n; i++)
		if(hany[i]>0) s.push_back({i+1,hany[i]});
	cout<<ans<<" "<<s.size()<<"\n";
	for(auto &[a,b]:s)
		cout<<a<<" "<<b<<"\n";
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base25/100
1Elfogadva0/01ms316 KiB
2Hibás válasz0/0137ms19820 KiB
3Elfogadva5/51ms316 KiB
4Elfogadva5/51ms316 KiB
5Elfogadva5/51ms316 KiB
6Elfogadva5/51ms392 KiB
7Elfogadva5/51ms316 KiB
8Hibás válasz0/51ms316 KiB
9Hibás válasz0/51ms316 KiB
10Hibás válasz0/51ms508 KiB
11Hibás válasz0/527ms3280 KiB
12Hibás válasz0/543ms5788 KiB
13Hibás válasz0/539ms5588 KiB
14Hibás válasz0/582ms10824 KiB
15Hibás válasz0/578ms10912 KiB
16Hibás válasz0/576ms10636 KiB
17Hibás válasz0/575ms10808 KiB
18Hibás válasz0/571ms10656 KiB
19Hibás válasz0/5125ms19096 KiB
20Hibás válasz0/5128ms19260 KiB
21Hibás válasz0/5126ms19608 KiB
22Hibás válasz0/5130ms19828 KiB