Pagini recente » Cod sursa (job #1047295) | Cod sursa (job #2231374) | Cod sursa (job #2889294)
#include <iostream>
#include <deque>
#include <fstream>
using namespace std;
ifstream fin("branza.in");
ofstream fout("branza.out");
int n;
int t;
int s;
int ct;
struct saptamana{
int c;
int p;
int i;
};
deque<saptamana> b;
void branza()
{
fin>>n>>s>>t;
for(int i=0;i<n;i++)
{
saptamana ns;
fin>>ns.c>>ns.p;
ns.i = i;
if(b.empty())
ct+=ns.c*ns.p;
else
{
int cc = ns.c*ns.p;
for(auto it : b)
{
int ccc = it.c*ns.p + (i-it.i)*s*ns.p;
if(ccc<cc)
cc = ccc;
}
ct+=cc;
}
b.push_back(ns);
if(i-b.front().i>=t)
b.pop_front();
}
fout<<ct;
}
int main() {
branza();
return 0;
}