Pagini recente » Cod sursa (job #2649383) | Cod sursa (job #2190817) | Cod sursa (job #1449135) | Cod sursa (job #2607938) | Cod sursa (job #2265134)
//
// 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");
int n, t, s;
long long ct;
struct sapt{
int c, p, i;
};
deque<sapt> b;
void rez_branza()
{
fin>>n>>s>>t;
for(int 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+1)*s >ns.c+s)
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();
}
//cout<<ct;
fout<<ct;
}
int main() {
rez_branza();
return 0;
}