# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
890424 | Ghulam_Junaid | Sails (IOI07_sails) | C++17 | 1082 ms | 10684 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const ll N = 1e5 + 10;
ll n, p[N], initial_cost;
vector<pair<ll, ll>> vec;
int main(){
cin >> n;
for (ll i=0; i<n; i++){
ll h, k;
cin >> h >> k;
if (h == k){
p[0]++;
p[h]--;
}
else{
vec.push_back({h, k});
}
}
initial_cost = (p[0] * (p[0] - 1)) / 2;
for (ll i=1; i<N; i++){
p[i] += p[i - 1];
initial_cost += (p[i] * (p[i] - 1)) / 2;
}
set<pair<ll, ll>> st;
for (ll i = 0; i < N; i++)
st.insert({p[i], -i});
ll cost = initial_cost;
vector<ll> places;
for (ll i=0; i<vec.size(); i++){
ll h = vec[i].first;
ll k = vec[i].second;
places.clear();
for (ll j = 0; j < k; j++){
places.push_back(-(*st.begin()).second);
st.erase(st.begin());
}
for (ll j=0; j<k; j++){
ll pos = places[j];
cost += p[pos];
p[pos]++;
st.insert({p[pos], -pos});
}
}
cout << cost << endl;
}
Compilation message (stderr)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |