Pagini recente » Cod sursa (job #1196187) | Cod sursa (job #1413489) | Profil UTCN_Borsos_Lorinczi_Mandici | Cod sursa (job #1452378) | Cod sursa (job #216225)
Cod sursa(job #216225)
#include <stdio.h>
#include <algorithm>
#define mx 110000
#define ll long long
using namespace std;
ll n, s, t, c, p, stdq = 1, sfdq = 1, cost;
pair <ll, ll> dq[mx];
int main()
{
freopen("branza.in","r",stdin);
freopen("branza.out","w",stdout);
scanf("%lld %lld %lld", &n, &s, &t);
dq[stdq].first = 100 * mx;
for (int i = 1; i <= n; i++)
{
if (dq[stdq].second < i - t)
stdq++;
scanf("%ld %ld", &c, &p);
ll vl = min(c, dq[stdq].first + s * (i - dq[stdq].second));
cost += (vl * p);
dq[++sfdq].first = c;
dq[sfdq].second = i;
while (dq[sfdq].first < dq[sfdq - 1].first + s * (i - dq[sfdq - 1].second) && sfdq > stdq)
{
swap(dq[sfdq], dq[sfdq - 1]);
sfdq--;
}
}
printf("%lld", cost);
fclose(stdin);
fclose(stdout);
return 0;
}