Pagini recente » Cod sursa (job #3322505) | Cod sursa (job #3309714) | Cod sursa (job #606788) | Cod sursa (job #3305358) | Cod sursa (job #3326330)
/*
_____ _____ _______
/\ \ /\ \ /::\ \
/::\____\ /::\ \ /::::\ \
/:::/ / /::::\ \ /::::::\ \
/:::/ / /::::::\ \ /::::::::\ \
/:::/ / /:::/\:::\ \ /:::/~~\:::\ \
/:::/ / /:::/__\:::\ \ /:::/ \:::\ \
/:::/ / /::::\ \:::\ \ /:::/ / \:::\ \
/:::/ / _____ /::::::\ \:::\ \ /:::/____/ \:::\____\
/:::/____/ /\ \ /:::/\:::\ \:::\ \ ::: | |:::| |
|:::| / /::\____\ /:::/ \:::\ \:::\____\ |:::|____| |:::| |
|:::|____\ /:::/ / \::/ \:::\ /:::/ / \:::\ \ /:::/ /
\:::\ \ /:::/ / \/____/ \:::\/:::/ / \:::\ \ /:::/ /
\:::\ \ /:::/ / \::::::/ / \:::\ /:::/ /
\:::\ /:::/ / \::::/ / \:::\__/:::/ /
\:::\__/:::/ / /:::/ / \::::::::/ /
\::::::::/ / /:::/ / \::::::/ /
\::::::/ / /:::/ / \::::/ /
\::::/ / /:::/ / \::/____/
\::/____/ \::/ / ~~
~~ \/____/
*/
#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;
}