Submission #708291

#TimeUsernameProblemLanguageResultExecution timeMemory
708291600MihneaStrange Device (APIO19_strange_device)C++17
0 / 100
5088 ms524288 KiB
#include <cmath> #include <functional> #include <fstream> #include <iostream> #include <vector> #include <algorithm> #include <string> #include <set> #include <map> #include <list> #include <time.h> #include <math.h> #include <random> #include <deque> #include <queue> #include <unordered_map> #include <unordered_set> #include <iomanip> #include <cassert> #include <bitset> #include <sstream> #include <chrono> #include <cstring> #include <numeric> #include <cstdint> #include <limits> #include <numeric> #include <iostream> using namespace std; #define int long long pair<int, int> get(int t, int a, int b) { int x = (t + t / b) % a; int y = t % b; return { x, y }; } bool same_dumb(int t1, int t2, int a, int b) { return get(t1, a, b) == get(t2, a, b); } int gcd(int a, int b) { if (b == 0) return a; return gcd(b, a % b); } bool same_smart(int t1, int t2, int a, int b) { a /= gcd(a, b + 1); a *= b; return t1 % a == t2 % a; } const int lim = 20; void print(vector<int> v) { cout << " ---> "; for (auto& x : v) { cout << x << " "; } cout << "\n"; } void solve() { int n, mod; cin >> n; { int a, b; cin >> a >> b; a /= gcd(a, b + 1); a *= b; mod = a; } set<int> s; vector<pair<int, int>> segs(n); for (auto& it : segs) { cin >> it.first >> it.second; int bag = 0; for (int j = it.first; j <= it.second; j++) { bag++; s.insert(j % mod); } if (bag >= mod) { assert((int)s.size() == mod); } } cout << (int)s.size() << "\n"; exit(0); } signed main() { #ifdef ONPC FILE* stream; freopen_s(&stream, "input.txt", "r", stdin); #else ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); #endif solve(); int cnt = 0; for (int a = 2; a <= lim; a++) { for (int b = 1; b <= lim; b++) { for (int t = 0; t <= 2 * a * b; t++) { for (int t2 = 0; t2 <= 2 * a * b; t2++) { bool s1 = same_dumb(t, t2, a, b); bool s2 = same_smart(t, t2, a, b); if (s1 != s2) { cout << "WA!\n"; return 0; } } } cout << "done " << a << " " << b << "\n"; } } cout << "Ac!\n"; return 0; }

Compilation message (stderr)

strange_device.cpp: In function 'int main()':
strange_device.cpp:114:6: warning: unused variable 'cnt' [-Wunused-variable]
  114 |  int cnt = 0;
      |      ^~~
#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...
#Verdict Execution timeMemoryGrader output
Fetching results...