#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;
}
}
}
}
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; } } } } |
English