Submission #447547

#TimeUsernameProblemLanguageResultExecution timeMemory
447547LucaIlieTable Tennis (info1cup20_tabletennis)C++17
100 / 100
80 ms3300 KiB
#include <stdio.h>
#include <algorithm>
#include <map>

#define MAX_N 150000
#define MAX_K 400

int v[MAX_N + MAX_K], sume[(2 * MAX_K + 1) * (2 * MAX_K + 1)], ans[MAX_N];

int main() {
    int n, k, m, suma, elim, s, f, i, j;

    scanf( "%d%d", &n, &k );
    for ( i = 0; i < n + k; i++ )
        scanf( "%d", &v[i] );

    for ( i = 0; i < k + 1; i++ ) {
        for ( j = n - 1 + i; j < n + k; j++ ) {
            elim = j - i + 1 - n;
            s = i;
            f = j;
            suma = v[s] + v[f];
            ans[0] = v[s];
            ans[n - 1] = v[f];
            s++;
            f--;
            m = 1;
            while ( s < f && elim >= 0 ) {
                if ( v[s] + v[f] == suma ) {
                    ans[m] = v[s];
                    ans[n - 1 - m] = v[f];
                    m++;
                    s++;
                    f--;
                } else if ( v[s] + v[f] < suma ) {
                    s++;
                    elim--;
                } else {
                    f--;
                    elim--;
                }
            }
            if ( m == n / 2 )
                break;
        }
        if ( j < n + k )
            break;
    }

    for ( i = 0; i < n; i++ )
        printf( "%d ", ans[i] );

    return 0;
}

Compilation message (stderr)

tabletennis.cpp: In function 'int main()':
tabletennis.cpp:13:10: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   13 |     scanf( "%d%d", &n, &k );
      |     ~~~~~^~~~~~~~~~~~~~~~~~
tabletennis.cpp:15:14: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   15 |         scanf( "%d", &v[i] );
      |         ~~~~~^~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...