Pagini recente » Cod sursa (job #543389) | Cod sursa (job #2079252) | Cod sursa (job #2871569) | Cod sursa (job #166661) | Cod sursa (job #1500529)
#include <fstream>
using namespace std;
int stiva[100000];
int c[100000], p[100000];
int main()
{
ofstream out("branza.out");
ifstream in("branza.in");
int n, s, t;
unsigned long long int cost = 0;
int top = 0, bottom = 0;
in >> n >> s >> t;
for(int i=0; i < n; i++)
{
in >> c[i] >> p[i];
for(int j=bottom; j<top; j++)
c[stiva[j]] += s;
while(top>bottom && c[i] < c[stiva[top-1]])
top--;
stiva[top++] = i;
cost += c[stiva[bottom]]*p[i];
if(i - stiva[bottom] >= t)
bottom++;
}
out << cost;
}