Pagini recente » Cod sursa (job #1133139) | Cod sursa (job #698072) | Cod sursa (job #1914541) | Cod sursa (job #759844) | Cod sursa (job #2731921)
#include <iostream>
#include<fstream>
#include<deque>
#include<vector>
using namespace std;
ifstream f("branza.in");
ofstream g("branza.out");
int N,S,T,s=0,nr=0,i,x,y,b,ok=1,a;
vector<int> C;
vector<int> P;
deque<int> caut;
int main()
{
f>>N>>S>>T;
for(i=0;i<N;i++)
{
f>>x>>y;
C.push_back(x);
P.push_back(y);
cout<<C[i]<<" ";
while(!caut.empty() && (C[i]<=C[caut.back()]+S*(i-caut.back())))
caut.pop_back();
while((!caut.empty())&&(i-caut.front()>T))
caut.pop_front();
caut.push_back(i);
s+=(C[caut.front()]+S*(i-caut.front()))*P[i];
}
g<<s;
}