Pagini recente » Cod sursa (job #2979645) | Cod sursa (job #712908) | Cod sursa (job #1404773) | Cod sursa (job #2779740) | Cod sursa (job #952556)
Cod sursa(job #952556)
#include <fstream>
using namespace std;
ifstream fin("bilute.in");
ofstream fout("bilute.out");
typedef long long i64;
const i64 inf= (i64)1<<60;
const int nmax= 30000;
i64 sv[nmax+1], sc[nmax+1], sl[nmax+1];
int main(){
int n;
fin>>n;
for (int i= 1; i<=n; ++i){
fin>>sv[i]>>sl[i];
sc[i]= sc[i-1]+sv[i]*i;
sl[i]= sl[i-1]+sv[i]*sl[i];
sv[i]= sv[i-1]+sv[i];
}
i64 ms= inf;
int p= -1;
for (int i= 1; i<=n; ++i){
printf("\n%d: ---------------------------------\n\n", i);
i64 aux= (i64)sv[i-1]*i-sc[i-1];
printf("%lld ", aux);
aux+= sc[n]-sc[i]-(i64)(sv[n]-sv[i])*i;
printf("%lld ", aux);
aux+= sl[i-1];
printf("%lld ", aux);
aux+= sl[n]-sl[i];
printf("%lld ", aux);
if (ms>aux){
ms= aux;
p= i;
}
printf(" ----- %lld\n", ms);
}
fout<<p<<" "<<ms<<"\n";
return 0;
}