Pagini recente » Borderou de evaluare (job #2637701) | Cod sursa (job #2763659) | Cod sursa (job #2462873) | Borderou de evaluare (job #2753721) | Cod sursa (job #3232734)
#include <iostream>
#include <fstream>
using namespace std;
#define nmax 50000
int x[nmax], y[nmax], z[nmax], n;
int fct( int v[] ) {
int i, rez = 0, minn, j;
for( i = 0; i < n; i++ ) {
minn = v[i];
for( j = i + 1; j < n; j++ )
minn = min( minn, v[j] );
rez += v[i] - minn;
v[i] = minn;
}
//cout << rez << " ";
for( i = 1; i < n; i++ ) {
if( v[i] == v[i - 1] ) {
for( j = i - 1; j > 0; j-- ) {
if( v[j] > v[j - 1] + 1 )
break;
}
rez += i - j;
}
}
//cout << rez << "\n";
return rez;
}
int main()
{
int i, rez;
ifstream cin("inundatii.in");
ofstream cout("inundatii.out");
cin >> n;
for( i = 0; i < n; i++ )
cin >> x[n - 1 - i] >> y[n - 1 - i] >> z[n - 1 - i];
rez = fct( x ) + fct( y ) + fct( z );;
cout << rez;
return 0;
}