Pagini recente » Cod sursa (job #968173) | Cod sursa (job #1836523) | Cod sursa (job #2411360) | Cod sursa (job #2376699) | Cod sursa (job #370011)
Cod sursa(job #370011)
#include <cstdio>
#include <cstring>
#define file_in "branza.in"
#define file_out "branza.out"
#define Nmax 101001
#define Inf 10000000000000000LL
long long n,m[Nmax],s,t,i,j,minim,c[Nmax],p[Nmax];
long long suma;
inline long long min(long long a, long long b) { return a<b?a:b; }
inline long long abs(long long a) { return a>=0?a:-a; }
int main()
{
freopen(file_in,"r",stdin);
freopen(file_out,"w",stdout);
scanf("%lld %lld %lld", &n, &s, &t);
for (i=1;i<=n;++i)
scanf("%lld %lld", &c[i], &p[i]);
for (i=1;i<=n;++i)
{
minim=Inf;
for (j=1;j<=t;++j)
if (abs(i-j)<=t)
minim=min(minim,c[j]+abs(i-j)*s);
m[i]=minim;
}
suma=0;
for (i=1;i<=n;++i)
suma+=p[i]*m[i];
printf("%lld\n", suma);
fclose(stdin);
fclose(stdout);
return 0;
}