Submission #1011807

# Submission time Handle Problem Language Result Execution time Memory
1011807 2024-07-01T08:57:14 Z 12345678 Magic Show (APIO24_show) C++17
100 / 100
2 ms 1084 KB
#include <bits/stdc++.h>
#include "Alice.h"

using namespace std;

std::vector<std::pair<int,int>> Alice(){
    int N=5000;
    long long x=setN(N);
    vector<pair<int, int>> edg;
    for (int i=1; i<N; i++) edg.push_back({x%i+1, i+1});
    return edg;
}
#include <bits/stdc++.h>
#include "Bob.h"

using namespace std;

#define ll __int128_t

tuple<ll, ll, ll> euclid(ll a, ll b)
{
    ll u=1, v=0, tmp;
    while (b)
    {
        tmp=a/b;
        a-=tmp*b;
        u-=tmp*v;
        swap(a, b);
        swap(u, v);
    }
    return make_tuple(a, u, v);
}

long long Bob(std::vector<std::pair<int,int>> V){
    ll a=0, l=0;
    for (auto [u, v]:V)
    {
        if (l>=1e18) break;
        if (u>v) swap(u, v);
        u--; v--;
        if (a==0)
        {
            a=u, l=v;
            continue;
        }
        auto [d, x, y]=euclid(l, v);
        a=a+(x*(u-a)/d)%(v/d)*l;
        l=l*v/d;
        a=((a%l)+l)%l;
    }
    return a;
}
# Verdict Execution time Memory Grader output
1 Correct 2 ms 816 KB Correct.
2 Correct 2 ms 820 KB Correct.
3 Correct 1 ms 824 KB Correct.
4 Correct 1 ms 836 KB Correct.
5 Correct 2 ms 824 KB Correct.
6 Correct 2 ms 832 KB Correct.
7 Correct 1 ms 836 KB Correct.
8 Correct 1 ms 820 KB Correct.
9 Correct 1 ms 832 KB Correct.
10 Correct 1 ms 820 KB Correct.
11 Correct 2 ms 836 KB Correct.
12 Correct 2 ms 820 KB Correct.
# Verdict Execution time Memory Grader output
1 Correct 2 ms 816 KB Correct.
2 Correct 2 ms 820 KB Correct.
3 Correct 1 ms 824 KB Correct.
4 Correct 1 ms 836 KB Correct.
5 Correct 2 ms 824 KB Correct.
6 Correct 2 ms 832 KB Correct.
7 Correct 1 ms 836 KB Correct.
8 Correct 1 ms 820 KB Correct.
9 Correct 1 ms 832 KB Correct.
10 Correct 1 ms 820 KB Correct.
11 Correct 2 ms 836 KB Correct.
12 Correct 2 ms 820 KB Correct.
13 Correct 2 ms 820 KB Correct.
14 Correct 2 ms 832 KB Correct.
15 Correct 2 ms 820 KB Correct.
16 Correct 2 ms 820 KB Correct.
17 Correct 2 ms 832 KB Correct.
18 Correct 1 ms 924 KB Correct.
19 Correct 2 ms 820 KB Correct.
20 Correct 1 ms 820 KB Correct.
21 Correct 2 ms 896 KB Correct.
22 Correct 1 ms 820 KB Correct.
23 Correct 2 ms 832 KB Correct.
24 Correct 2 ms 832 KB Correct.
# Verdict Execution time Memory Grader output
1 Correct 2 ms 816 KB Correct.
2 Correct 2 ms 820 KB Correct.
3 Correct 1 ms 824 KB Correct.
4 Correct 1 ms 836 KB Correct.
5 Correct 2 ms 824 KB Correct.
6 Correct 2 ms 832 KB Correct.
7 Correct 1 ms 836 KB Correct.
8 Correct 1 ms 820 KB Correct.
9 Correct 1 ms 832 KB Correct.
10 Correct 1 ms 820 KB Correct.
11 Correct 2 ms 836 KB Correct.
12 Correct 2 ms 820 KB Correct.
13 Correct 2 ms 820 KB Correct.
14 Correct 2 ms 832 KB Correct.
15 Correct 2 ms 820 KB Correct.
16 Correct 2 ms 820 KB Correct.
17 Correct 2 ms 832 KB Correct.
18 Correct 1 ms 924 KB Correct.
19 Correct 2 ms 820 KB Correct.
20 Correct 1 ms 820 KB Correct.
21 Correct 2 ms 896 KB Correct.
22 Correct 1 ms 820 KB Correct.
23 Correct 2 ms 832 KB Correct.
24 Correct 2 ms 832 KB Correct.
25 Correct 2 ms 820 KB Correct.
26 Correct 2 ms 820 KB Correct.
27 Correct 2 ms 820 KB Correct.
28 Correct 2 ms 832 KB Correct.
29 Correct 2 ms 836 KB Correct.
30 Correct 1 ms 820 KB Correct.
31 Correct 2 ms 816 KB Correct.
32 Correct 1 ms 832 KB Correct.
33 Correct 1 ms 820 KB Correct.
34 Correct 1 ms 836 KB Correct.
35 Correct 1 ms 832 KB Correct.
36 Correct 1 ms 816 KB Correct.
37 Correct 2 ms 820 KB Correct.
38 Correct 1 ms 820 KB Correct.
39 Correct 1 ms 828 KB Correct.
40 Correct 1 ms 820 KB Correct.
41 Correct 2 ms 820 KB Correct.
42 Correct 1 ms 1084 KB Correct.
43 Correct 1 ms 820 KB Correct.
44 Correct 1 ms 836 KB Correct.