답안 #1034164

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
1034164 2024-07-25T10:16:57 Z vjudge1 학교 설립 (IZhO13_school) C++17
25 / 100
57 ms 11600 KB
#include<bits/stdc++.h>
#define ll long long
#define pll pair<ll, ll>
#define fi first
#define se second
using namespace std;

ll n, m, s;
const int maxn = 2e6 + 3;
const ll inf = 1e18;
pll p[maxn + 3];
priority_queue<ll, vector<ll>, greater<ll>>pq1, pq2;
ll l[maxn + 3], r[maxn + 3], ans;

bool cmp(pll a, pll b)
{
    return a.fi - a.se < b.fi - b.se;
}

int main()
{
 //   freopen("SCHOOL.INP", "r", stdin);
 //   freopen("SCHOOL.OUT", "w", stdout);
    ios_base::sync_with_stdio(false);
    cin.tie(nullptr);
    cin >> n >> m >> s;
    for(int i = 1; i <= n; i++)
    {
        cin >> p[i].fi >> p[i].se;
    }
    sort(p + 1, p + n + 1, cmp);
    /*for(int i = 1; i <= n; i++)
    {
        cout << p[i].first << ' ' << p[i].second << '\n';
    } cout << '\n';*/
    for(int i = 1; i <= s; i++)
    {
        pq1.push(p[i].se);
        ans += p[i].se;
        l[i] = ans;
    }
    for(int i = s + 1; i <= n; i++)
    {
        if(!pq1.empty() && p[i].se > pq1.top())
        {
            ans = ans + p[i].se - pq1.top();
        }
        l[i] = ans;
    }
    ll ans = 0;
    for(int i = n; i >= n - m + 1; i--)
    {
        pq2.push(p[i].fi);
        ans += p[i].fi;
        r[i] = ans;
    }
    //cout << ans;
    for(int i = n - m; i >= 1; i--)
    {
        if(!pq2.empty() && p[i].fi > pq2.top())
        {
            ans  = ans + p[i].fi - pq2.top();
        }
        r[i] = ans;
    }
     ans = -inf;
    for(int i = s; i + m - 1 <= n; i++)
    {
        ans = max(ans, l[i] + r[i + 1]);
    }
    cout << ans;
}
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 348 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Correct 0 ms 348 KB Output is correct
4 Incorrect 0 ms 348 KB Output isn't correct
5 Incorrect 0 ms 348 KB Output isn't correct
6 Incorrect 0 ms 348 KB Output isn't correct
7 Incorrect 1 ms 604 KB Output isn't correct
8 Correct 1 ms 604 KB Output is correct
9 Incorrect 1 ms 604 KB Output isn't correct
10 Incorrect 1 ms 604 KB Output isn't correct
11 Incorrect 1 ms 604 KB Output isn't correct
12 Incorrect 1 ms 604 KB Output isn't correct
13 Incorrect 8 ms 2024 KB Output isn't correct
14 Incorrect 16 ms 3296 KB Output isn't correct
15 Incorrect 31 ms 5512 KB Output isn't correct
16 Correct 39 ms 7636 KB Output is correct
17 Incorrect 42 ms 8784 KB Output isn't correct
18 Incorrect 43 ms 9416 KB Output isn't correct
19 Incorrect 50 ms 10068 KB Output isn't correct
20 Incorrect 57 ms 11600 KB Output isn't correct