Pagini recente » Cod sursa (job #1280084) | Cod sursa (job #2130720) | Cod sursa (job #2527040) | Cod sursa (job #2711266) | Cod sursa (job #1500516)
#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, 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 i=bottom; i<top; i++)
c[stiva[i]] += s;
if(top-bottom > t)
bottom++;
while(top>bottom && c[i] < c[stiva[top-1]])
top--;
stiva[top++] = i;
cost += c[stiva[bottom]]*p[i];
}
out << cost;
}