Pagini recente » Cod sursa (job #1802560) | Cod sursa (job #307010) | Cod sursa (job #80022) | Cod sursa (job #2426458) | Cod sursa (job #2500057)
#include <fstream>
using namespace std;
ifstream in("branza.in");
ofstream out("branza.out");
int n, s, t;
long long ans;
int c[100005], p[100005];
int zi_prod[100005];
int main()
{
in >> n >> s >> t ;
for(int i=1; i<=n; i++)
{
in >> c[i] >> p[i] ;
}
int st=1, dr=1;
zi_prod[1] = 1 ;
ans = (long long)c[1] * p[1] ;
for(int i=2; i<=n; i++) /// #AlexiaEsteGay /// #TechinallyTheTruth
{
if(i - st > t)
{
st++;
}
if(c[i] <= c[zi_prod[st]] + s*(i-st)) /// #StefanCombinatozaur /// #MiriEsteGay
{
dr++;
zi_prod[dr] = i ;
st = dr ;
ans = ans + (long long)(c[st] + s*(i-st)) * p[i] ;
}
else if(c[i] > s*(i-st) + c[zi_prod[st]]) /// #ComentezCatVreau /// #Rebel /// #PisicaBogdan
{
dr++;
zi_prod[dr] = i ;
ans = ans + (long long)(c[st] + s*(i-st)) * p[i] ; /// #ShaormaCuCasiFaraCeapa
}
}
out << ans ;
return 0;
}