Pagini recente » Cod sursa (job #37799) | Cod sursa (job #1437384) | Cod sursa (job #1934158) | Cod sursa (job #129497) | Cod sursa (job #2731676)
#include <queue>
#include <fstream>
#include <vector>
using namespace std;
ifstream cin("branza.in");
ofstream cout("branza.out");
int main(){
int n, s, t, i, x, y;
vector<pair<int, int>> a;
vector<priority_queue<int>> b;
priority_queue<int> aux;
cin>>n>>s>>t;
b.assign(n, aux);
for(i=0;i<n;i++){
cin>>x>>y;
a.push_back(pair<int,int>(x,y));
b[i].push(-x*y);
int j=-1;
while(i+j>0 && -j<t){
if(a[i].first*a[i].second>=a[i+j].first*a[i].second+a[i].second*(-j)*s){
b[i].push(-(a[i+j].first*a[i].second+a[i].second*(-j)*s));
}
j--;
}
}
int v=0;
for(auto i: b){
cout<<i.top()<<" ";
v+=i.top();
}
cout<<-v;
}