(UPD: 2024-12-04 14:48 UTC) Judge is not working due to Cloudflare incident. (URL) We can do nothing about it, sorry. After the incident is resolved, we will grade all submissions.

Submission #715029

#TimeUsernameProblemLanguageResultExecution timeMemory
715029TheConverseEngineerVepar (COCI21_vepar)C++17
30 / 70
1577 ms39508 KiB
#include <bits/stdc++.h> using namespace std; #define FOR(i, a, b) for(int i = a; i < (b); ++i) #define all(x) begin(x), end(x) #define sz(x) (int)(x).size() #define sqr(x) ((ll)(x))*(x) typedef long long ll; typedef pair<int, int> pii; typedef vector<int> vi; int T; int factorsLeft[10000000]; bool test(int c, int d) { for (int i = c; i <= d; i++) { int x = i; while (x%2 == 0) { factorsLeft[2]--; x /= 2; if (factorsLeft[2] < 0) return false; } for (int factor = 3; (ll)factor*factor <= x; factor+=2) { while (x%factor == 0) { x /= factor; factorsLeft[factor]--; if (factorsLeft[factor] < 0) return false;} } if (x > 2) { factorsLeft[x]--; if (factorsLeft[x] < 0) return false; } } return true; } int main() { cin.tie(0)->sync_with_stdio(0); cin >> T; FOR(testcase, 0, T) { FOR(i, 0, 10000000) factorsLeft[i] = 0; int a, b, c, d; cin >> a >> b >> c >> d; for (int i = c; i <= d; i++) { int x = i; while (x%2 == 0) { factorsLeft[2]++; x /= 2; } for (int factor = 3; (ll)factor*factor <= x; factor+=2) { while (x%factor == 0) { x /= factor; factorsLeft[factor]++;} } if (x > 2) factorsLeft[x]++; } cout << (test(a, b)?"DA":"NE") << "\n"; } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...