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