Pagini recente » Cod sursa (job #5592) | Cod sursa (job #779430) | Cod sursa (job #2057443) | Cod sursa (job #1135963) | Cod sursa (job #462491)
Cod sursa(job #462491)
#include<fstream>
#include<deque>
using namespace std;
typedef unsigned long long int64;
deque<int64> d;
int64 n, t, s, a[100001];
unsigned long long tot;
int main()
{
ifstream fin("branza.in");
ofstream fout("branza.out");
fin >> n >> s >> t;
for (int64 i = 1, cant; i <= n; ++i)
{
fin >> a[i] >> cant;
if (!d.empty() && d.back() == a[i - t - 1] + (n - (i - t - 1)) * s)
d.pop_back();
while (!d.empty() && a[i] + (n - i) * s < d.front())
d.pop_front();
d.push_front(a[i] + (n - i) * s);
tot += cant * (d.back() - (n - i) * s);
}
fout << tot;
}