Pagini recente » Cod sursa (job #836504) | Cod sursa (job #404311) | Cod sursa (job #1919948) | Cod sursa (job #1758993) | Cod sursa (job #2265051)
//
// 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, 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)*s)>(ns.c))
b.pop_back();
b.push_back(ns);
if(i-b.front().i>=t)
b.pop_front();
ct += (b.front().c+(i-b.front().i)*s)*ns.p;
}
//cout<<ct;
fout<<ct;
}
int main() {
rez_branza();
return 0;
}