답안 #448188

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
448188 2021-07-29T08:13:45 Z Vladithur 이상한 기계 (APIO19_strange_device) C++17
15 / 100
3935 ms 524292 KB
//#pragma GCC optimize ("Ofast")
//#pragma GCC target("avx2")
//#pragma GCC optimize("unroll-loops")
//#include <x86intrin.h>
//#include <ext/pb_ds/assoc_container.hpp>
//#include <ext/pb_ds/tree_policy.hpp>
#include <bits/stdc++.h>

#define PI 3.141592653589793L
#define FAST ios::sync_with_stdio(false); cin.tie(NULL);
// Use for file I/O;
#define FIN string _fname = "input"; \
			string _is = _fname + ".in", _os = _fname + ".out"; \
			freopen(_is.c_str(), "r", stdin); \
			freopen(_os.c_str(), "w", stdout);

#define FIN2 freopen("input.txt", "r", stdin); freopen("output.txt", "w", stdout);
#define RINIT mt19937 rng(chrono::steady_clock::now().time_since_epoch().count());

#define all(x) (x).begin(), (x).end()
#define allr(x) (x).rbegin(), (x).rend()
#define gsize(x) (int)((x).size())

using namespace std;
//using namespace __gnu_pbds;
//typedef gp_hash_table<int, int, hash<int>> ht;

const char nl = '\n';

typedef long long ll;
typedef long double ld;
// typedef unsigned int uint;
typedef unsigned long long ull;

const ll inf = 1e9 + 10;
const ll inf2 = 1e18 + 99LL;
const ld inf3 = 1e17;
const ll mod = 1e9+7, mod2 = 998244353;
const ld eps = 1e-9;
const bool local = false;

//RINIT;
const int logn = 21, maxn = 1000000, maxm = 100000, maxn2 = 3;	

int main() {
	FAST;
	
	int n;
	cin >> n;
	ll a, b;
	cin >> a >> b;
	
	if (a < inf && b < inf && a * b <= 1000000) {
	ll tn = a * b;
	
	vector<ll> p(tn + 1);
	vector<bool> good(tn);
	while (n--) {
		ll l, r;
		cin >> l >> r;
		
		if (r - l + 1 >= tn) {
			p[0]++;
		} else {
			l %= tn;
			r %= tn;
			if (l <= r) {
				p[l]++;
				p[r + 1]--;
			} else {
				p[0]++;
				p[r + 1]--;
				p[l]++;
			}
		}
	}
	
	for (int i = 0; i < tn; i++) {
		p[i + 1] += p[i];
		good[i] = (p[i] > 0);
	}
	
	set<pair<ll, ll>> ts;
	for (ll x = 0; x < tn; x++) {
		if (good[x]) {
			ts.emplace((x + x / b) % a, x % b);
		}
	}
	cout << gsize(ts) << nl;
	} else {
			set<pair<ll, ll>> s;
	while (n--) {
		ll l, r;
		cin >> l >> r;
		for (ll t = l; t <= r; t++) {
			s.emplace((t + t / b) % a, t % b);
		}
	}
	cout << gsize(s) << nl;
}
}

// © Benq 
/* stuff you should look for
	* int overflow, array bounds	
	* special cases (n=1?)
	* do smth instead of nothing and stay organized
	* WRITE STUFF DOWN
	* DON'T GET STUCK ON ONE APPROACH
*/
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 204 KB Output is correct
2 Correct 48 ms 12208 KB Output is correct
3 Correct 71 ms 17832 KB Output is correct
4 Correct 6 ms 4684 KB Output is correct
5 Correct 1 ms 332 KB Output is correct
6 Correct 1 ms 332 KB Output is correct
7 Correct 1 ms 460 KB Output is correct
8 Correct 1 ms 332 KB Output is correct
9 Correct 3 ms 1228 KB Output is correct
10 Correct 0 ms 204 KB Output is correct
11 Correct 0 ms 204 KB Output is correct
12 Correct 0 ms 204 KB Output is correct
13 Correct 1 ms 204 KB Output is correct
14 Correct 1 ms 332 KB Output is correct
15 Correct 31 ms 8912 KB Output is correct
16 Correct 31 ms 11208 KB Output is correct
17 Correct 67 ms 6544 KB Output is correct
18 Correct 1 ms 204 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 204 KB Output is correct
2 Runtime error 3935 ms 524292 KB Execution killed with signal 9
3 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 204 KB Output is correct
2 Correct 146 ms 39940 KB Output is correct
3 Correct 178 ms 39744 KB Output is correct
4 Correct 145 ms 36932 KB Output is correct
5 Correct 609 ms 70460 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 204 KB Output is correct
2 Correct 629 ms 62900 KB Output is correct
3 Runtime error 2259 ms 524292 KB Execution killed with signal 9
4 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 204 KB Output is correct
2 Correct 629 ms 62900 KB Output is correct
3 Runtime error 2259 ms 524292 KB Execution killed with signal 9
4 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 204 KB Output is correct
2 Correct 629 ms 62900 KB Output is correct
3 Runtime error 2259 ms 524292 KB Execution killed with signal 9
4 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 204 KB Output is correct
2 Runtime error 1889 ms 524292 KB Execution killed with signal 9
3 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 204 KB Output is correct
2 Correct 48 ms 12208 KB Output is correct
3 Correct 71 ms 17832 KB Output is correct
4 Correct 6 ms 4684 KB Output is correct
5 Correct 1 ms 332 KB Output is correct
6 Correct 1 ms 332 KB Output is correct
7 Correct 1 ms 460 KB Output is correct
8 Correct 1 ms 332 KB Output is correct
9 Correct 3 ms 1228 KB Output is correct
10 Correct 0 ms 204 KB Output is correct
11 Correct 0 ms 204 KB Output is correct
12 Correct 0 ms 204 KB Output is correct
13 Correct 1 ms 204 KB Output is correct
14 Correct 1 ms 332 KB Output is correct
15 Correct 31 ms 8912 KB Output is correct
16 Correct 31 ms 11208 KB Output is correct
17 Correct 67 ms 6544 KB Output is correct
18 Correct 1 ms 204 KB Output is correct
19 Correct 0 ms 204 KB Output is correct
20 Runtime error 3935 ms 524292 KB Execution killed with signal 9
21 Halted 0 ms 0 KB -