Pagini recente » Cod sursa (job #2442786) | Cod sursa (job #3223567) | Cod sursa (job #596258) | Cod sursa (job #3256625) | Cod sursa (job #2970941)
#include <fstream>
using namespace std;
ifstream cin ("inundatii.in");
ofstream cout ("inundatii.out");
#define NMAX 50005
int cladiri[NMAX][3];
int ans[NMAX][3];
int main() {
int n, j, i;
cin >> n;
for ( i = 1; i <= n; i++ ) {
cin >> cladiri[i][0] >> cladiri[i][1] >> cladiri[i][2];
}
for ( j = 0; j < 3; j++ ) {
for ( i = 1; i <= n; i++ ) {
ans[i][j] = cladiri[i][j];
if ( i >= 2 && ans[i][j] <= ans[i - 1][j] ) {
if ( i >= 3 && (cladiri[i][j] + cladiri[i - 1][j]) / 2 <= ans[i - 2][j] ) {
ans[i - 1][j] = ans[i - 2][j] + 1;
} else {
ans[i - 1][j] = (cladiri[i][j] + cladiri[i - 1][j]) / 2;
}
ans[i][j] = ans[i - 1][j] + 1;
}
}
}
int answer = 0;
for ( j = 0; j < 3; j++ ) {
for ( i = 1; i <= n; i++ ) {
answer = answer + abs( cladiri[i][j] - ans[i][j] );
}
}
cout << answer;
return 0;
}