답안 #881724

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
881724 2023-12-01T19:08:53 Z alexdd 학교 설립 (IZhO13_school) C++17
35 / 100
1693 ms 5120 KB
#include<bits/stdc++.h>
using namespace std;
const int NRIT = 4e7;
int n,m,s;
pair<int,pair<int,int>> v[300005];
int unde[300005];
mt19937 rnd(293123);
signed main()
{
    ios_base::sync_with_stdio(0);cin.tie(0);
    cin>>n>>m>>s;
    int a,b;
    for(int i=1;i<=n;i++)
    {
        cin>>a>>b;
        v[i] = {a-b,{a,b}};
    }
    sort(v+1,v+1+n);
    for(int i=1;i<=s;i++)
    {
        unde[i]=2;
    }
    for(int i=1;i<=m;i++)
    {
        unde[n-i+1]=1;
    }
    for(int pas=0;pas<NRIT;pas++)
    {
        int x = rnd()%n + 1;
        int y = rnd()%n + 1;
        if(unde[x]==unde[y])
            continue;
        if(unde[y]==0)
            swap(x,y);
        if(unde[x]==0)
        {
            if(unde[y]==1)
            {
                if(v[x].second.first - v[y].second.first > 0)
                    swap(unde[x],unde[y]);
            }
            else
            {
                if(v[x].second.second - v[y].second.second > 0)
                    swap(unde[x],unde[y]);
            }
        }
        else
        {
            if(unde[x]==2)
                swap(x,y);
            if(v[x].second.second - v[x].second.first + v[y].second.first - v[y].second.second > 0)
            {
                swap(unde[x],unde[y]);
            }
        }
    }
    long long sum=0;
    for(int i=1;i<=n;i++)
    {
        if(unde[i]==1)
            sum += v[i].second.first;
        else if(unde[i]==2)
            sum += v[i].second.second;
    }
    cout<<sum;
    return 0;
}
# 결과 실행 시간 메모리 Grader output
1 Correct 1380 ms 2488 KB Output is correct
2 Correct 1082 ms 2640 KB Output is correct
3 Correct 1356 ms 2488 KB Output is correct
4 Incorrect 1435 ms 2492 KB Output isn't correct
5 Incorrect 1511 ms 2648 KB Output isn't correct
6 Incorrect 1395 ms 2640 KB Output isn't correct
7 Correct 1384 ms 2512 KB Output is correct
8 Correct 1002 ms 2648 KB Output is correct
9 Incorrect 1184 ms 2516 KB Output isn't correct
10 Incorrect 1213 ms 2512 KB Output isn't correct
11 Incorrect 1346 ms 2516 KB Output isn't correct
12 Correct 1271 ms 2512 KB Output is correct
13 Incorrect 1130 ms 2652 KB Output isn't correct
14 Incorrect 1551 ms 2660 KB Output isn't correct
15 Incorrect 1022 ms 4716 KB Output isn't correct
16 Correct 1153 ms 4720 KB Output is correct
17 Incorrect 1605 ms 4692 KB Output isn't correct
18 Incorrect 1689 ms 4824 KB Output isn't correct
19 Incorrect 1674 ms 4800 KB Output isn't correct
20 Incorrect 1693 ms 5120 KB Output isn't correct