#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef pair<ll, ll> Pll;
typedef vector<Pll> vpll;
const ll INF = 1ll << 62;
ll C[120000];
ll B[120000];
//bool Ac[120000];
int n;
vpll Polany;
int main()
{
scanf("%d", &n);
for(int i = 0; i < n; ++i)
{
ll a, b;
scanf("%lld%lld", &a, &b);
Polany.push_back(Pll(a,b));
}
sort(Polany.begin(), Polany.end());
for(int i = 0; i < n; ++i)
{
C[i] = Polany[i].first;
B[i] = Polany[i].second;
//Ac[i] = true;
}
ll sumka = 0;
for(int i = 0; i < n; ++i)
{
int ind = 0;
ll curmax = -1;
for(int j = 0; j < n; ++j)
if(curmax < B[j])
{
curmax = B[j];
ind = j;
}
//Ac[ind] = false;
sumka += B[ind];
B[ind] = -INF;
ll c = C[ind];
for(int i = 0; i < ind; ++i)
B[i] += c;
for(int i = ind+1; i < n; ++i)
B[i] += C[i];;
printf("%lld\n", sumka);
}
}
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 | #include <bits/stdc++.h> using namespace std; typedef long long ll; typedef pair<ll, ll> Pll; typedef vector<Pll> vpll; const ll INF = 1ll << 62; ll C[120000]; ll B[120000]; //bool Ac[120000]; int n; vpll Polany; int main() { scanf("%d", &n); for(int i = 0; i < n; ++i) { ll a, b; scanf("%lld%lld", &a, &b); Polany.push_back(Pll(a,b)); } sort(Polany.begin(), Polany.end()); for(int i = 0; i < n; ++i) { C[i] = Polany[i].first; B[i] = Polany[i].second; //Ac[i] = true; } ll sumka = 0; for(int i = 0; i < n; ++i) { int ind = 0; ll curmax = -1; for(int j = 0; j < n; ++j) if(curmax < B[j]) { curmax = B[j]; ind = j; } //Ac[ind] = false; sumka += B[ind]; B[ind] = -INF; ll c = C[ind]; for(int i = 0; i < ind; ++i) B[i] += c; for(int i = ind+1; i < n; ++i) B[i] += C[i];; printf("%lld\n", sumka); } } |
English