Cod sursa(job #2615829)

Utilizator As932Stanciu Andreea As932 Data 15 mai 2020 17:37:01
Problema Branza Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.67 kb
#include <fstream>
#include <deque>

using namespace std;

ifstream cin("branza.in");
ofstream cout("branza.out");

int n,s,t,ans;
struct week
{
    int c,p,poz;
}w;
deque <week> d;

int main()
{
    cin>>n>>s>>t>>w.c>>w.p;

    d.push_back({w.c,w.p,1});

    ans=w.c*w.p;

    for(int i=2;i<=n;i++)
    {
        cin>>w.c>>w.p;
        w.poz=i;

        while(!d.empty() && i-d.front().poz>t)
            d.pop_front();

        while(!d.empty() && w.c<=(i-d.back().poz)*s+d.back().c)
            d.pop_back();

        d.push_back({w.c,w.p,i});

        ans+=(i-d.front().poz)*w.p*s+w.p*d.front().c;
    }

    cout<<ans;

    return 0;
}