Cod sursa(job #3220053)
Utilizator | Toader Iulia Iulya10 | Data | 2 aprilie 2024 09:39:06 |
---|---|---|---|
Problema | Branza | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva de probleme | Marime | 0.47 kb |
#include <bits/stdc++.h>
using namespace std;
ifstream fin("branza.in");
ofstream fout("branza.out");
int d[100005],v[100005],i,n,s,t,pr,c,p,u;
long long sol;
int main()
{
fin>>n>>s>>t;
d[1]=1;
u=p=1;
for(i=1;i<=n;i++)
{
fin>>c>>pr;
v[i]=c;
while(p<=u&&c<=v[d[u]]+s*(i-d[u])) u--;
d[++u]=i;
sol+=(v[d[p]]+(long long)s*(i-d[p]))*pr;
if(i-d[p]==t) p++;
}
fout<<sol;
return 0;
}