Pagini recente » Cod sursa (job #1063821) | Cod sursa (job #2564149) | Cod sursa (job #157492) | Cod sursa (job #2578894) | Cod sursa (job #1493333)
#include <stdio.h>
#define MAXN 50000
int m[3][MAXN+1], n;
inline long long solve(int v[]){
int i;
long long s=0, min;
for(i=0; i<n; i++){
s+=v[i];
}
min=s;
for(i=n-1; i>=0; i--){
s-=(i+1)*(long long)(v[i]-v[i+1]);
s+=(n-i-1)*(long long)(v[i]-v[i+1]);
if(min>s){
min=s;
}
}
for(i=n/2; i<n; i++){
min+=i-n/2;
}
for(i=n/2; i>=0; i--){
min+=n/2-i;
}
return min;
}
int main(){
int i;
FILE *fin, *fout;
fin=fopen("inundatii.in", "r");
fout=fopen("inundatii.out", "w");
fscanf(fin, "%d", &n);
for(i=0; i<n; i++){
fscanf(fin, "%d%d%d", &m[0][i], &m[1][i], &m[2][i]);
}
fprintf(fout, "%lld\n", solve(m[0])+solve(m[1])+solve(m[2]));
fclose(fin);
fclose(fout);
return 0;
}