Pagini recente » Cod sursa (job #2989636) | Cod sursa (job #1846852) | Cod sursa (job #2277609) | Cod sursa (job #1305600) | Cod sursa (job #2265145)
//
// main.cpp
// Branza
//
// Created by Darius Buhai on 20/10/2018.
// Copyright © 2018 Darius Buhai. All rights reserved.
//
#include <iostream>
#include <deque>
#include <fstream>
using namespace std;
ifstream fin("branza.in");
ofstream fout("branza.out");
long n, t, s;
long long ct;
struct sapt{
long c, p, i;
};
deque<sapt> b;
void rez_branza()
{
fin>>n>>s>>t;
for(long i=0;i<n;i++)
{
sapt ns;
ns.i = i;
fin>>ns.c>>ns.p;
while(!b.empty() && b.back().c + (i-b.back().i)*s >ns.c)
b.pop_back();
b.push_back(ns);
ct += (b.front().c+(i-b.front().i)*s)*ns.p;
if(!b.empty() && i-b.front().i>=t)
b.pop_front();
}
fout<<ct;
}
int main() {
rez_branza();
return 0;
}