Cod sursa(job #1101580)
| Utilizator | Data | 8 februarie 2014 18:28:47 | |
|---|---|---|---|
| Problema | Branza | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.45 kb |
#include<fstream>
using namespace std;
ifstream in("branza.in");
ofstream out("branza.out");
long long n, s, t, v[100002], d[100002], p=1, q, c, rasp;
int main(){
int player_unu=0;
in>>n>>s>>t;
for(int i = 1; i<=n; i++)
{
in>>v[i]>>c;
while(s * (i - d[q]) + v[d[q]]>=v[i] && p<=q)
q--;
q++;
d[q] = i;
if(i - d[p]>=s)
p++;
rasp += c * (s * (i - d[p]) + v[d[p]]);
}
out<<rasp<<'\n';
return player_unu;
}