Pagini recente » Cod sursa (job #2262458) | Monitorul de evaluare | Cod sursa (job #2794842) | Cod sursa (job #1805396) | Cod sursa (job #2020649)
#include <bits/stdc++.h>
const int MAXN = (int) 3e4;
int l[MAXN + 1], c[MAXN + 1];
int spc[MAXN + 1];
long long sp[MAXN + 1];
int main() {
FILE *fi, *fout;
int i, n;
fi = fopen("bilute.in" ,"r");
fout = fopen("bilute.out" ,"w");
fscanf(fi,"%d " ,&n);
long long sum = 0;
for(i = 1; i <= n; i++) {
fscanf(fi,"%d %d " ,&c[i],&l[i]);
sum += 1LL * c[i] * l[i];
spc[i] = spc[i - 1] + c[i];
sp[i] = sp[i - 1] + 1LL * c[i] * i;
}
long long ans = (1LL << 62);
int p;
for(i = 1; i <= n; i++) {
if(ans > 1LL * spc[i] * i - sp[i] + sp[n] - sp[i] - 1LL * (spc[n] - spc[i]) * i + sum - 1LL * l[i] * c[i]) {
ans = 1LL * spc[i] * i - sp[i] + sp[n] - sp[i] - 1LL * (spc[n] - spc[i]) * i + sum - 1LL * l[i] * c[i];
p = i;
}
}
fprintf(fout,"%d %lld" ,p,ans);
fclose(fi);
fclose(fout);
return 0;
}