Pagini recente » Cod sursa (job #1063666) | Cod sursa (job #2445763) | Cod sursa (job #1164644) | Cod sursa (job #1044768) | Cod sursa (job #125386)
Cod sursa(job #125386)
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
#define Nmax 50015
#define INF 0x3f3f3f3f
#define ll long long
int n;
ll sir[4][Nmax];
ll sum1[Nmax], sum2[Nmax];
ll sol;
void citire()
{
int i;
scanf("%d\n", &n);
for (i = 1; i <= n; ++i)
scanf("%lld %lld %lld\n", &sir[1][i], &sir[2][i], &sir[3][i]);
}
void solve()
{
int i, j;
ll sum;
for (i = 1; i <= 3; ++i)
{
sum = INF;
sum *= INF;
memset(sum1, 0, sizeof(sum1));
for (j = 2; j <= n; ++j)
sum1[j] = sum1[j - 1] + (j - 1) * (sir[i][j - 1] - sir[i][j]);
memset(sum2, 0, sizeof(sum2));
for (j = n - 1; j >= 1; --j)
sum2[j] = sum2[j + 1] + (n - j) * (sir[i][j] - sir[i][j + 1]);
for (j = 1; j <= n; ++j)
sum = min(sum, sum1[j] + sum2[j] + (j - 1) * j / 2 + (n - j) * (n - j + 1) / 2);
sol += sum;
}
printf("%lld\n", sol);
}
int main()
{
freopen("inundatii.in", "r", stdin);
freopen("inundatii.out", "w", stdout);
citire();
solve();
return 0;
}