Submission #675119

# Submission time Handle Problem Language Result Execution time Memory
675119 2022-12-27T02:04:20 Z Hiennoob123 Table Tennis (info1cup20_tabletennis) C++14
100 / 100
126 ms 3080 KB
//#pragma GCC optimize("Ofast,unroll-loops")
//#pragma GCC target("avx,avx2,fma,sse4.2")
#include<bits/stdc++.h>
#define ll int
#define ii __int128
#define ld long double
#define cd complex<ld>
#define pll pair<int,int>
#define pii pair<int,int>
#define pld pair<ld,ld>
#define pb push_back
#define mp make_pair
#define fi first
#define se second
using namespace std;
ll n, k, m;
ll A[200005];
bool check(ll l, ll r)
{
    ll remain = k-(l-1)-(m-r);
    int i = l, j = r;
    vector<ll> save;
    ll sum = A[l]+A[r];
    //cout << l << " " << r << '\n';
    while(j>i&&save.size()<n&&remain>=0)
    {
        if(A[i]+A[j]==sum)
        {
            save.push_back(A[i]);
            save.push_back(A[j]);
            i++; j--;
        }
        else if(A[i]-A[l]<A[r]-A[j])
        {
            i++;
            remain--;
        }
        else
        {
            j--;
            remain--;
        }
    }
    if(save.size()==n&&remain>=0)
    {
        sort(save.begin(),save.end());
        for(auto u: save)
        {
            cout << u<< " ";
        }
        return 1;
    }
    return 0;
}
void solve()
{
    cin >> n >> k;
    m = n+k;
    for(int i = 1; i<= m; i++) cin >> A[i];
    for(int i = 1; i<= k+1; i++)
    {
        ll x = k-i+1;
        for(int j = m; j>= m-x; j--)
        {
            if(check(i, j))
            {
                return;
            }
        }
    }

}
signed main()
{
    //ios_base::sync_with_stdio(NULL) ; cin.tie(nullptr) ; cout.tie(nullptr);
    int t = 1;// cin >> t;
    //cout << -1;
    while(t--)
    {
        solve();
        cout << "\n";
    }
}

Compilation message

tabletennis.cpp: In function 'bool check(int, int)':
tabletennis.cpp:25:27: warning: comparison of integer expressions of different signedness: 'std::vector<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   25 |     while(j>i&&save.size()<n&&remain>=0)
      |                ~~~~~~~~~~~^~
tabletennis.cpp:44:19: warning: comparison of integer expressions of different signedness: 'std::vector<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   44 |     if(save.size()==n&&remain>=0)
      |        ~~~~~~~~~~~^~~
# Verdict Execution time Memory Grader output
1 Correct 2 ms 340 KB Output is correct
2 Correct 2 ms 384 KB Output is correct
3 Correct 1 ms 340 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 12 ms 768 KB Output is correct
2 Correct 97 ms 3080 KB Output is correct
3 Correct 76 ms 2988 KB Output is correct
4 Correct 95 ms 2984 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 95 ms 2968 KB Output is correct
2 Correct 88 ms 3012 KB Output is correct
3 Correct 84 ms 2992 KB Output is correct
4 Correct 100 ms 3012 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 212 KB Output is correct
2 Correct 2 ms 212 KB Output is correct
3 Correct 1 ms 212 KB Output is correct
4 Correct 2 ms 212 KB Output is correct
5 Correct 1 ms 212 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 212 KB Output is correct
2 Correct 1 ms 212 KB Output is correct
3 Correct 1 ms 212 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 212 KB Output is correct
2 Correct 2 ms 340 KB Output is correct
3 Correct 1 ms 340 KB Output is correct
4 Correct 2 ms 340 KB Output is correct
5 Correct 2 ms 340 KB Output is correct
6 Correct 2 ms 340 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 212 KB Output is correct
2 Correct 81 ms 3080 KB Output is correct
3 Correct 76 ms 3056 KB Output is correct
4 Correct 78 ms 3068 KB Output is correct
5 Correct 88 ms 3028 KB Output is correct
6 Correct 83 ms 3044 KB Output is correct
7 Correct 121 ms 2984 KB Output is correct
8 Correct 81 ms 3036 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 212 KB Output is correct
2 Correct 111 ms 3040 KB Output is correct
3 Correct 114 ms 3008 KB Output is correct
4 Correct 99 ms 3040 KB Output is correct
5 Correct 71 ms 2936 KB Output is correct
6 Correct 89 ms 3072 KB Output is correct
7 Correct 126 ms 2976 KB Output is correct
8 Correct 69 ms 2984 KB Output is correct