Submission #957571

# Submission time Handle Problem Language Result Execution time Memory
957571 2024-04-04T04:21:10 Z 12345678 Palembang Bridges (APIO15_bridge) C++17
22 / 100
38 ms 9612 KB
#include <bits/stdc++.h>
 
using namespace std;
 
const int nx=1e5+5;

#define ll long long

ll k, n, b[nx], d[nx], cnt, res, dpl[nx], dpr[nx], sml, smr;
char a[nx], c[nx];
vector<pair<ll, ll>> v(nx);
priority_queue<ll> pql;
priority_queue<ll, vector<ll>, greater<ll>> pqr;

void insert(int x)
{
    if (pql.empty()||(x<=pql.top())) pql.push(x), sml+=x;
    else pqr.push(x), smr+=x;
}

void adjust()
{
    while (pql.size()>pqr.size()) sml-=pql.top(), pqr.push(pql.top()), pql.pop(), smr+=pqr.top();
    while (pqr.size()>pql.size()) smr-=pqr.top(), pql.push(pqr.top()), pqr.pop(), sml+=pql.top();
}

int main()
{
    cin.tie(NULL)->sync_with_stdio(false);
    cin>>k>>n;
    for (int i=1; i<=n; i++)
    {
        cin>>a[i]>>b[i]>>c[i]>>d[i];
        if (a[i]==c[i]) res+=abs(b[i]-d[i]);
        else res++, v[++cnt]={b[i]+d[i], i};
    }
    sort(v.begin()+1, v.begin()+cnt+1);
    //for (int i=1; i<=cnt; i++) cout<<v[i].first<<' '<<v[i].second<<'\n';
    for (int i=1; i<=cnt; i++)
    {
        insert(b[v[i].second]);
        insert(d[v[i].second]);
        adjust();
        dpl[i]=smr-sml;
        //cout<<"debug "<<sml<<' '<<smr<<'\n';
        //cout<<"dp "<<i<<' '<<dpl[i]<<'\n';
    }
    cout<<dpl[cnt]+res;
}
# Verdict Execution time Memory Grader output
1 Correct 2 ms 3932 KB Output is correct
2 Correct 1 ms 3932 KB Output is correct
3 Correct 3 ms 4184 KB Output is correct
4 Correct 2 ms 3928 KB Output is correct
5 Correct 2 ms 3928 KB Output is correct
6 Correct 1 ms 3932 KB Output is correct
7 Correct 1 ms 3932 KB Output is correct
8 Correct 1 ms 3928 KB Output is correct
9 Correct 2 ms 3932 KB Output is correct
10 Correct 2 ms 3932 KB Output is correct
11 Correct 2 ms 3932 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 3932 KB Output is correct
2 Correct 1 ms 3932 KB Output is correct
3 Correct 1 ms 3932 KB Output is correct
4 Correct 2 ms 3932 KB Output is correct
5 Correct 1 ms 3932 KB Output is correct
6 Correct 1 ms 3932 KB Output is correct
7 Correct 2 ms 3932 KB Output is correct
8 Correct 2 ms 4132 KB Output is correct
9 Correct 2 ms 3932 KB Output is correct
10 Correct 1 ms 4128 KB Output is correct
11 Correct 2 ms 4100 KB Output is correct
12 Correct 22 ms 7888 KB Output is correct
13 Correct 38 ms 9160 KB Output is correct
14 Correct 31 ms 7980 KB Output is correct
15 Correct 22 ms 7028 KB Output is correct
16 Correct 20 ms 8644 KB Output is correct
17 Correct 31 ms 9160 KB Output is correct
18 Correct 34 ms 8940 KB Output is correct
19 Correct 36 ms 9612 KB Output is correct
20 Correct 31 ms 8864 KB Output is correct
21 Correct 33 ms 9288 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 3928 KB Output is correct
2 Correct 1 ms 3932 KB Output is correct
3 Incorrect 1 ms 4100 KB Output isn't correct
4 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 3928 KB Output is correct
2 Correct 1 ms 3932 KB Output is correct
3 Incorrect 1 ms 3932 KB Output isn't correct
4 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 3932 KB Output is correct
2 Correct 1 ms 3932 KB Output is correct
3 Incorrect 1 ms 3932 KB Output isn't correct
4 Halted 0 ms 0 KB -