Pagini recente » Cod sursa (job #2394662) | Cod sursa (job #2363073) | Cod sursa (job #34264) | Cod sursa (job #2778607) | Cod sursa (job #1458676)
#include <fstream>
#define c first
#define z second
#include <queue>
using namespace std;
deque< pair<int,int> > st;
int cost,cant,i,n,s,t;
long long COST;
ifstream f("branza.in");
ofstream g("branza.out");
int main()
{
f>>n>>s>>t;COST=0LL;
for(i=1;i<=n;++i)
{
f>>cost>>cant;
if(st.front().z<i-t) st.pop_front();
while(!st.empty() && cost<=(i-st.back().z)*s+st.back().c) st.pop_back();
st.push_back({cost,i});
COST=COST+1LL*cant*((i-st.front().z)*s+st.front().c);
}
g<<COST<<'\n';
return 0;
}