답안 #366037

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
366037 2021-02-12T19:43:41 Z soba Table Tennis (info1cup20_tabletennis) C++14
34 / 100
253 ms 30828 KB
#include <bits/stdc++.h>

using namespace std;
typedef long long ll;
int main()
{
    ios_base::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);
    ll n , k;
    cin >> n >> k ;
    ll teams=n/2;
    vector<ll>v;
    ll x;
    n+=k;
    map<ll,ll>mp , occ;
    
    for(int i = 0 ; i < n ; i++)
    {
        cin >>  x;
        mp[x]++;
        v.push_back(x);
    }
    sort(v.begin(), v.end());
    vector<ll>poten;
    set<ll>ss;
    for(int i = 0 ; i< 2*k ; i++)
    {
        for( int j = n-1; j >= n-(2*k) ; j-- )
        {
           ss.insert(v[i]+v[j]);
            occ[v[i]+v[j]]++;
        }
    }
    for(ll u : ss)
    {
        if(occ[u]>=k)
            {
                poten.push_back(u);
            }
    }
    vector<ll>ansa;
    ll sz=poten.size() , cnt;
    for( int i = 0 ; i  < sz ; i++)
    {
        ansa.clear();
        ll tmp=teams;
        cnt=0;
        for(int j = 0 ; v[j]<(poten[i]/2) ; j++ )
        {
            if(poten[i]-v[j]==v[j])continue;
            if(mp[poten[i]-v[j]])
            {
                tmp--;
                ansa.push_back(poten[i]-v[j]);
                ansa.push_back(v[j]);
            }
            else cnt++;
            if(tmp==0)
                break;
            if(cnt==k+1)
                break;
        }
        if(tmp==0)
        {
            break;
        }
    }
    sort( ansa.begin() , ansa.end());
    for(int i = 0 ; i < teams*2 ; i++)
    {
        cout << ansa[i] <<  " " ;
    }
    return 0;
}
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 492 KB Output is correct
2 Correct 1 ms 492 KB Output is correct
3 Correct 1 ms 492 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 12 ms 2280 KB Output is correct
2 Correct 88 ms 14044 KB Output is correct
3 Correct 88 ms 14044 KB Output is correct
4 Correct 90 ms 14080 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 90 ms 14044 KB Output is correct
2 Correct 90 ms 14184 KB Output is correct
3 Correct 93 ms 14068 KB Output is correct
4 Correct 87 ms 14044 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Runtime error 11 ms 3052 KB Execution killed with signal 11
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 384 KB Output is correct
2 Correct 1 ms 364 KB Output is correct
3 Runtime error 1 ms 492 KB Execution killed with signal 11
# 결과 실행 시간 메모리 Grader output
1 Runtime error 1 ms 620 KB Execution killed with signal 11
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 1 ms 620 KB Execution killed with signal 11
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 253 ms 30828 KB Execution killed with signal 11
2 Halted 0 ms 0 KB -