Submission #219813

# Submission time Handle Problem Language Result Execution time Memory
219813 2020-04-06T12:40:15 Z MKopchev Building 4 (JOI20_building4) C++14
0 / 100
6 ms 416 KB
 #include<bits/stdc++.h>
using namespace std;
const int nmax=2e3+42;
bool been[nmax][nmax][2];

int n;
int a[2*nmax],b[2*nmax];

string current;

void go(int a_taken,int b_taken,bool side)
{
    if(side==0)current.push_back('A');
    else current.push_back('B');

    if(been[a_taken][b_taken][side])
    {
        current.pop_back();
        return;
    }

    been[a_taken][b_taken][side]=1;

    //cout<<"go "<<a_taken<<" "<<b_taken<<" "<<side<<endl;

    if(a_taken==n&&b_taken==n)
    {
        for(int i=1;i<=2*n;i++)printf("%c",current[i]);
        printf("\n");
        exit(0);
    }
    int lst=(side==0?a[a_taken]:b[b_taken]);

    //use a
    if(a_taken<n&&a[a_taken+b_taken+1]>=lst)go(a_taken+1,b_taken,0);
    //use b
    if(b_taken<n&&b[a_taken+b_taken+1]>=lst)go(a_taken,b_taken+1,1);

    current.pop_back();
}
int main()
{
    scanf("%i",&n);

    for(int i=1;i<=2*n;i++)scanf("%i",&a[i]);
    for(int i=1;i<=2*n;i++)scanf("%i",&b[i]);

    go(0,0,0);

    printf("-1\n");
    return 0;
}

Compilation message

building4.cpp: In function 'int main()':
building4.cpp:43:10: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
     scanf("%i",&n);
     ~~~~~^~~~~~~~~
building4.cpp:45:33: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
     for(int i=1;i<=2*n;i++)scanf("%i",&a[i]);
                            ~~~~~^~~~~~~~~~~~
building4.cpp:46:33: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
     for(int i=1;i<=2*n;i++)scanf("%i",&b[i]);
                            ~~~~~^~~~~~~~~~~~
# Verdict Execution time Memory Grader output
1 Correct 5 ms 384 KB Output is correct
2 Correct 4 ms 384 KB Output is correct
3 Correct 5 ms 384 KB Output is correct
4 Correct 5 ms 384 KB Output is correct
5 Correct 6 ms 416 KB Output is correct
6 Incorrect 6 ms 384 KB Output isn't correct
7 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 5 ms 384 KB Output is correct
2 Correct 4 ms 384 KB Output is correct
3 Correct 5 ms 384 KB Output is correct
4 Correct 5 ms 384 KB Output is correct
5 Correct 6 ms 416 KB Output is correct
6 Incorrect 6 ms 384 KB Output isn't correct
7 Halted 0 ms 0 KB -