1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#include <iostream>
#include <vector>
#include <algorithm>
#include "dzilib.h"
#define ll long long
using namespace std;

int main(){
    int t = GetT();
    int n = GetN();
    int q = GetQ();

    vector <int> dzielniki (n+q, 0);
    for (int i = 0; i < n+q; i++){
        for (int j = i; j < n+q; j += i){
            dzielniki[j]++;
        }
    }

    for (int u = 0; u < t; u++){
        int zapytania = q/t;
        vector <int> dzk (zapytania);
        for (int i = 0; i < zapytania; i++){
            dzk[i] = Ask(i);
        }

        for (int i = 1; i <= n; i++){
            bool czy_ok = true;
            for (int j = 0; j < zapytania; j++){
                if (dzielniki[i+j] != dzk[j]){
                    czy_ok = false;
                    break;
                }
            }
            if (czy_ok){
                Answer(i);
                break;
            }
        }
    }
}