Cod sursa(job #3326330)

Utilizator octavurlurleteanu alexandru octavian octavurl Data 28 noiembrie 2025 09:51:36
Problema Branza Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 2.93 kb
/*
          _____                            _____                           _______
         /\    \                          /\    \                         /::\    \
        /::\____\                        /::\    \                       /::::\    \
       /:::/    /                       /::::\    \                     /::::::\    \
      /:::/    /                       /::::::\    \                   /::::::::\    \
     /:::/    /                       /:::/\:::\    \                 /:::/~~\:::\    \
    /:::/    /                       /:::/__\:::\    \               /:::/    \:::\    \
   /:::/    /                       /::::\   \:::\    \             /:::/    / \:::\    \
  /:::/    /      _____            /::::::\   \:::\    \           /:::/____/   \:::\____\
 /:::/____/      /\    \          /:::/\:::\   \:::\    \         :::    |     |:::|    |
|:::|    /      /::\____\        /:::/  \:::\   \:::\____\        |:::|____|     |:::|    |
|:::|____\     /:::/    /        \::/    \:::\  /:::/    /         \:::\    \   /:::/    /
 \:::\    \   /:::/    /          \/____/ \:::\/:::/    /           \:::\    \ /:::/    /
  \:::\    \ /:::/    /                    \::::::/    /             \:::\    /:::/    /
   \:::\    /:::/    /                      \::::/    /               \:::\__/:::/    /
    \:::\__/:::/    /                       /:::/    /                 \::::::::/    /
     \::::::::/    /                       /:::/    /                   \::::::/    /
      \::::::/    /                       /:::/    /                     \::::/    /
       \::::/    /                       /:::/    /                       \::/____/
        \::/____/                        \::/    /                         ~~
         ~~                               \/____/

*/
#include <bits/stdc++.h>
#define ll long long
#define ull unsigned long long
#define ins(x) insert(x)
#define mp(x,y) make_pair(x,y)
#define pb(x) push_back(x)
#define fast_ios ios_base::sync_with_stdio(0),cin.tie(nullptr),cout.tie(nullptr);
#define all(v) (v).begin() , (v).end()

using namespace std;

ifstream fin ( "branza.in" ) ;
ofstream fout ( "branza.out" ) ;

ll nxt()
{
ll x;
fin >> x ;
return x;
}
void close_files()
{
fin.close();
fout.close();
}

pair<ll,ll>v[100005];
deque<ll>dq;
ll n , s , t ;
void eliminate(ll idx){
while(!dq.empty() && v[dq.back()].first*v[idx].second + (idx-dq.back())*s*v[idx].second > v[idx].first * v[idx].second )
    dq.pop_back();
dq.push_back(idx);
}
signed main()
{
    fast_ios
    fin >> n >> s >> t ;
    for ( ll i = 1 ; i <= n ; ++ i )
        fin >> v[i].first >> v[i].second ;
    ll suma = 0 ;
    for ( ll i = 1; i <= n ; ++ i )
    {
    eliminate(i);
    if ( i - dq.front() > t )
        dq.pop_front();
    ll suma1 = v[dq.front()].first*v[i].second + ( i-dq.front() ) * s * v[i].second;
    suma += suma1;
    }
    fout << suma;
    close_files();
    return 0;
}