Pagini recente » Cod sursa (job #9127) | Cod sursa (job #3257696) | Cod sursa (job #571077) | Cod sursa (job #2345367) | Cod sursa (job #3232767)
#include <iostream>
#include <fstream>
#include <vector>
#include <queue>
//#include <bits/stdc++.h>
#define ll long long
using namespace std;
ifstream fin("inundatii.in");
ofstream fout("inundatii.out");
signed main(){
ios_base::sync_with_stdio(false);
cin.tie(NULL);
int n; fin >> n;
ll c1[n], c2[n], c3[n];
for(int i = 0; i < n; i++){
fin >> c1[i] >> c2[i] >> c3[i];
c1[i] -= i;
c2[i] -= i;
c3[i] -= i;
}
ll min1 = 0, min2 = 0, min3 = 0;
priority_queue< ll > pq;
for(int i = 0; i < n; i++){
pq.push( c1[i] );
if(pq.top() > c1[i]){
min1 += pq.top() - c1[i];
pq.pop();
pq.push( c1[i] );
}
}
while(!pq.empty()) pq.pop();
for(int i = 0; i < n; i++){
pq.push( c2[i] );
if(pq.top() > c2[i]){
min2 += pq.top() - c2[i];
pq.pop();
pq.push( c2[i] );
}
}
while(!pq.empty()) pq.pop();
for(int i = 0; i < n; i++){
pq.push( c3[i] );
if(pq.top() > c3[i]){
min3 += pq.top() - c3[i];
pq.pop();
pq.push( c3[i] );
}
}
//cout << "min1 = " << min1 << " min2 = " << min2 << " min3 = " << min3 << '\n';
fout << min1 + min2 + min3 << '\n';
return 0;
}