Pagini recente » Diferente pentru problema/diferente intre reviziile 8 si 2 | Cod sursa (job #2974915) | Diferente pentru utilizator/vladdobro07 intre reviziile 42 si 41 | Diferente pentru utilizator/bit_master intre reviziile 22 si 13 | Cod sursa (job #1140038)
#include<iostream>
#include<fstream>
using namespace std;
ifstream fin("pachete.in");
ofstream fout("pachete.out");
#define MAX_N 100000
int inst[MAX_N], down[MAX_N], minim[MAX_N];
int n;
inline void read(){
fin >> n;
for(int i=1; i<=n; i++){
fin >> inst[i] >> down[i];
}
}
void solve(){
minim[n] = down[n];
for(int i=n-1; i>=1; i--){
int maxim = 0;
if(maxim < minim[i+1] - inst[i]) maxim = minim[i+1] - inst[i];
minim[i] = down[i] + maxim;
}
fout << minim[1] << '\n';
}
int main(){
read();
solve();
return 0;
}