Pagini recente » Cod sursa (job #2086308) | Cod sursa (job #2084013) | Cod sursa (job #874205) | Cod sursa (job #1148797) | Cod sursa (job #2549105)
#include <fstream>
using namespace std;
long long n,s,t,i,p,u,sol,d[100010],c[100010],P[100010];
int main (){
ifstream fin ("branza.in");
ofstream fout("branza.out");
fin>>n>>s>>t;
for (i=1;i<=n;i++){
fin>>c[i]>>P[i];
}
d[1]=1;
p=1;
u=1;
sol+=c[1]*P[1];
for (i=2;i<=n;i++){
while (p<=u&&c[i]<=(i-d[u])*s+c[d[u]]){
u--;
}
d[++u]=i;
if (i-d[p]==t+1){
p++;
}
sol+=(c[d[p]]+s*(i-d[p]))*P[i];
}
fout<<sol;
return 0;
}