Submission details
Task:Alkuluvut
Sender:MojoLake
Submission time:2025-09-27 20:47:01 +0300
Language:C++ (C++20)
Status:READY
Result:58
Feedback
groupverdictscore
#1ACCEPTED17
#2ACCEPTED41
#30
Test results
testverdicttimegroup
#1ACCEPTED0.00 s1, 2, 3details
#2ACCEPTED0.00 s2, 3details
#30.01 s3details

Code

#include <bits/stdc++.h>

#define all(x) begin(x), end(x)
#define sz(x) (int)(x).size()

using namespace std;
using ll = long long;

const int N = 945;

ll nums[N] = { 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 37, 41, 43, 47, 53, 59, 61, 67, 79, 83, 89, 101, 103, 107, 109, 127, 137, 139, 149, 151, 157, 163, 167, 179, 181, 211, 227, 239, 241, 251, 257, 263, 269, 281, 283, 307, 347, 349, 359, 367, 379, 389, 401, 409, 431, 449, 457, 461, 463, 467, 479, 487, 503, 509, 523, 541, 557, 563, 569, 587, 601, 607, 619, 683, 709, 769, 787, 809, 827, 829, 853, 859, 1021, 1039, 1049, 1051, 1063, 1069, 1087, 1097, 1123, 1129, 1153, 1187, 1237, 1249, 1259, 1279, 1283, 1289, 1307, 1367, 1381, 1423, 1427, 1439, 1447, 1453, 1459, 1481, 1483, 1487, 1489, 1523, 1559, 1567, 1579, 1583, 1607, 1621, 1627, 1693, 1697, 1753, 1783, 1789, 1801, 1861, 1867, 1889, 1973, 2003, 2017, 2027, 2029, 2039, 2053, 2063, 2069, 2081, 2083, 2087, 2089, 2237, 2243, 2267, 2297, 2347, 2357, 2389, 2447, 2459, 2467, 2539, 2543, 2579, 2657, 2659, 2683, 2687, 2689, 2693, 2749, 2789, 2837, 2843, 2851, 2857, 2861, 3041, 3049, 3067, 3079, 3083, 3089, 3407, 3457, 3461, 3467, 3469, 3557, 3659, 3697, 3847, 3877, 3947, 4003, 4007, 4021, 4027, 4051, 4057, 4079, 4157, 4229, 4261, 4289, 4483, 4549, 4561, 4567, 4583, 4597, 4603, 4649, 4679, 4691, 4789, 4801, 4861, 4889, 5021, 5039, 5077, 5081, 5087, 5107, 5189, 5209, 5261, 5387, 5443, 5581, 5623, 5651, 5657, 5683, 5689, 5779, 5839, 5849, 5861, 5867, 5879, 6047, 6053, 6079, 6089, 6389, 6689, 6803, 7687, 7789, 8053, 8059, 8087, 8467, 10159, 10223, 10243, 10247, 10253, 10259, 10267, 10273, 10289, 10357, 10369, 10429, 10453, 10457, 10459, 10463, 10477, 10487, 10513, 10567, 10589, 10597, 10651, 10687, 10729, 10739, 10789, 10831, 10837, 10853, 10861, 10889, 11239, 11257, 11287, 11437, 11467, 11497, 11587, 11593, 11689, 11839, 11863, 12109, 12163, 12269, 12347, 12379, 12451, 12457, 12479, 12487, 12539, 12569, 12583, 12589, 12601, 12637, 12647, 12653, 12689, 12697, 12841, 12893, 13049, 13249, 13457, 13469, 13487, 13567, 13597, 13679, 13687, 13789, 13859, 14083, 14389, 14563, 14593, 14629, 14657, 14683, 14759, 14851, 14867, 14869, 14879, 15287, 15361, 15569, 15649, 15679, 15683, 16073, 16097, 16823, 16879, 18049, 18457, 20183, 20249, 20297, 20327, 20347, 20357, 20359, 20369, 20389, 20443, 20479, 20483, 20507, 20543, 20549, 20563, 20627, 20641, 20681, 20759, 20789, 20849, 20857, 20873, 22259, 22349, 22367, 22397, 22469, 22643, 22679, 22853, 22859, 23459, 23497, 23567, 23687, 23689, 23789, 23857, 23957, 24527, 24631, 24659, 24683, 24697, 24763, 24847, 24851, 24859, 25463, 25601, 25609, 25639, 25679, 25801, 25847, 25867, 26083, 26407, 26489, 26879, 28069, 28349, 28579, 28607, 30467, 30469, 30497, 30557, 30689, 30697, 30859, 34057, 34549, 34589, 34679, 34687, 34759, 34807, 34849, 34897, 35069, 35597, 35677, 35869, 35879, 36457, 36587, 36787, 37087, 37879, 40087, 40169, 40459, 40483, 40543, 40583, 40597, 40609, 40697, 40849, 40867, 40879, 42853, 44563, 44587, 44683, 45061, 45569, 45697, 45863, 45869, 46061, 46489, 46507, 47869, 50069, 50387, 50627, 50683, 50767, 50789, 50849, 50867, 50957, 51869, 52861, 55697, 56081, 56809, 56897, 60887, 64081, 67789, 70879, 101287, 101293, 101347, 101359, 101467, 101527, 101653, 101749, 101839, 101863, 101869, 102359, 102367, 102397, 102437, 102451, 102481, 102497, 102547, 102563, 102587, 102643, 102647, 102679, 102859, 102983, 103457, 103549, 103567, 103687, 103769, 104239, 104287, 104369, 104579, 104659, 104683, 104789, 104851, 104869, 105269, 105379, 105389, 105467, 105619, 105683, 105769, 105817, 106123, 106129, 106453, 106487, 106823, 106859, 107839, 107843, 108439, 108457, 108769, 112459, 112543, 112573, 112657, 112687, 112759, 112843, 113287, 113467, 113497, 114679, 114859, 115693, 115783, 115879, 116239, 118249, 118297, 118369, 118453, 120689, 123457, 123479, 124367, 124561, 124567, 124679, 124693, 124759, 124783, 124853, 124897, 125387, 125639, 125683, 125687, 125789, 125803, 126397, 126481, 126487, 126839, 126859, 128549, 129853, 134587, 134597, 134789, 134867, 135467, 135469, 135697, 136849, 136859, 136879, 140269, 145679, 145681, 145687, 145879, 146987, 151687, 202493, 202637, 202679, 202859, 202973, 203459, 203569, 203579, 203657, 203789, 203857, 203869, 203947, 204367, 204487, 204557, 204563, 204583, 204587, 204623, 204679, 204859, 204983, 205823, 205879, 205967, 206249, 206483, 206489, 206783, 206879, 208657, 223469, 223547, 223589, 223679, 224579, 224897, 225683, 225689, 226487, 226547, 232487, 234587, 234589, 234659, 234769, 234869, 235679, 235789, 236879, 238657, 240659, 245681, 245683, 245789, 248051, 248569, 248657, 250681, 257689, 304459, 304489, 304597, 304687, 304789, 305489, 305597, 305867, 306457, 306479, 306577, 306589, 306877, 307589, 309877, 344587, 345659, 345679, 345689, 346849, 348769, 355679, 357689, 367789, 405487, 405659, 405679, 405683, 405689, 406789, 406883, 408469, 440653, 445789, 455687, 506797, 509687, 607889, 1012369, 1012489, 1012549, 1012573, 1012597, 1012657, 1012789, 1013569, 1013827, 1014397, 1014697, 1014763, 1015423, 1015843, 1015897, 1016839, 1018357, 1021483, 1023467, 1023487, 1023697, 1023857, 1023947, 1024357, 1024579, 1024589, 1024693, 1024697, 1024853, 1024987, 1025641, 1025693, 1025789, 1025839, 1026457, 1026481, 1026583, 1026587, 1026847, 1026859, 1026887, 1034567, 1034597, 1034659, 1034857, 1034867, 1034879, 1035869, 1036579, 1036829, 1043869, 1044859, 1045679, 1045987, 1046587, 1046897, 1055867, 1056481, 1063897, 1123567, 1123597, 1123867, 1123879, 1124593, 1124653, 1124659, 1124869, 1124983, 1125679, 1126483, 1126897, 1134697, 1135879, 1136587, 1143589, 1145689, 1148527, 1154863, 1157869, 1234657, 1234687, 1234759, 1234769, 1234789, 1235789, 1235867, 1238459, 1238659, 1245683, 1245689, 1246579, 1246879, 1256897, 1345879, 1346957, 1346987, 1354687, 1456789, 2023547, 2023859, 2024369, 2024387, 2024567, 2024597, 2025689, 2026397, 2026487, 2028749, 2034569, 2034689, 2035687, 2035879, 2035967, 2036479, 2036987, 2038549, 2045789, 2045837, 2046853, 2046857, 2048569, 2054861, 2056853, 2056987, 2234579, 2234789, 2235647, 2235869, 2238647, 2245679, 2246789, 2345867, 2345869, 2347859, 2357689, 2456879, 3044857, 3045697, 3045869, 3046489, 3046789, 3055649, 3056579, 3056789, 3067789, 3445789, 3446857, 4045687, 4054879, 4456789, 10123579, 10123849, 10124539, 10124689, 10125469, 10125487, 10125673, 10125697, 10126783, 10128793, 10129687, 10134589, 10134769, 10136587, 10137859, 10145683, 10145869, 10148623, 10152463, 10157689, 10234589, 10234759, 10234897, 10235647, 10235867, 10238467, 10238597, 10243769, 10245863, 10246897, 10248659, 10249567, 10253869, 10258967, 10345679, 10345789, 10346587, 10348697, 10456987, 11234689, 11236549, 11236597, 11236879, 11245387, 11245867, 11245987, 11345689, 11356789, 12345769, 12346589, 12356789, 12364789, 13456879, 20234579, 20235647, 20235869, 20237849, 20243687, 20245679, 20246987, 20345687, 20345987, 20354689, 20356879, 20456789, 22346579, 22346879, 23456789, 30445867, 30447589, 34456987, 40456789, 101234659, 101235679, 101236879, 101238547, 101243869, 101246857, 101247589, 101346859, 101356897, 102345689, 102345697, 102346789, 102356789, 103456789, 112345687, 112345789, 112465789, 202346957, 202346987, 203457869, 304456879 };


int main() {
    cin.tie(0)->sync_with_stdio(0);

    auto h = [&](vector<ll> v) {
        sort(all(v));
        v.erase(unique(all(v)), v.end());
        ll y = 0;
        ll mul = 1;
        for (ll z : v) {
            y += z * mul;
            mul *= 10ll;
        }
        return y;
    };

    map<ll, ll> m;
    for (int i = 0; i < N; ++i) {
        ll x = nums[i];

        vector<ll> v;
        while (x) {
            v.push_back(x % 10);
            x /= 10;
        }

        ll y = h(v);

        m[y] = nums[i];
    }

    int t;
    cin >> t;
    while (t--) {
        int k; cin >> k;
        vector<ll> v(k);
        for (ll& x : v) {
            cin >> x;
        }
        ll y = h(v);

        if (m.find(y) == m.end()) {
            cout << "NO\n";
        } else {
            cout << "YES\n";
            cout << m[y] << "\n";
        }
    }
}

Test details

Test 1

Group: 1, 2, 3

Verdict: ACCEPTED

input
10
1
0
1
1
...

correct output
NO
YES
11
YES
2
...

user output
NO
YES
11
YES
2
...

Test 2

Group: 2, 3

Verdict: ACCEPTED

input
175
1
0
1
1
...

correct output
NO
YES
11
YES
2
...

user output
NO
YES
11
YES
2
...

Test 3

Group: 3

Verdict:

input
848
4
0 1 2 3
4
0 1 2 4
...

correct output
YES
10223
YES
4021
YES
...

user output
YES
10223
YES
4021
YES
...