Pagini recente » Monitorul de evaluare | Cod sursa (job #1173553) | Statistici Cristian Costica (Costelus13) | Monitorul de evaluare | Cod sursa (job #2742790)
#include <fstream>
#include <deque>
#define per pair<int,int>
#define ll long long
using namespace std;
ifstream cin("branza.in");
ofstream cout("branza.out");
const int nmax = 1e5 + 5;
int n, s, t;
ll ans;
per v[nmax];
void read(){
cin >> n >> s >> t;
for(int i = 1; i <= n; i++)
cin >> v[i].first >> v[i].second;
}
void solve(){
deque <int> d;
for(int i = 1; i <= n; i++){
while(!d.empty() && i - d.front() > t)
d.pop_front();
while(!d.empty() && v[i].first <= v[d.back()].first + (i - d.back()) * s)
d.pop_back();
d.push_back(i);
ans += ((v[d.front()].first + (i - d.front()) * s) * v[i].second * 1LL);
}
cout << ans;
}
int main()
{
read();
solve();
return 0;
}