답안 #495746

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
495746 2021-12-20T04:08:35 Z Ierus Segments (IZhO18_segments) C++17
7 / 100
5000 ms 4548 KB
#include<bits/stdc++.h>
/*
#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>
using namespace __gnu_pbds;
*/
using namespace std;
#pragma GCC optimize ("unroll-loops,Ofast,O3")
#pragma GCC target("avx,avx2,fma")
#define F first
#define S second
#define sz(x) (int)x.size()
#define pb push_back
#define eb emplace_back
#define all(x) (x).begin(),(x).end()
#define rall(x) (x).rbegin(),(x).rend()
#define NFS ios_base::sync_with_stdio(0) , cin.tie(0) , cout.tie(0) ;
#define file(s) if (fopen(s".in", "r")) freopen(s".in", "r", stdin), freopen(s".out", "w", stdout)
//#define ordered_set tree<int, null_type,less<int>, rb_tree_tag,tree_order_statistics_node_update>
typedef long long ll;
const int E = 1e6+777;
const long long inf = 1e18+777;
const int N = 1e5+777;
const int MOD = 1e9+7;
int que, t, last, tim;
pair<int,int> pr[N];
set<pair<int,int>> st;
int get(int L, int R, int k, int res = 0){
	for(auto[x, y] : st){
		int l1, r1, l2, r2;
		if(x < L){
			l1 = x, r1 = y, l2 = L, r2 = R;
		}else{
			l1 = L, r1 = R, l2 = x, r2 = y; 
		}
		int cur = max(0, min(r1, r2) - max(l1, l2) + 1);
		if(cur >= k) ++res;
	}
	return res;
}
int main(){NFS;
	cin >> que >> t;
	for(int type; que--;){
		cin >> type;
		if(type == 1){
			int a, b;
			cin >> a >> b;
			a = (a ^ (t * last));
			b = (b ^ (t * last));
			if(a > b)swap(a, b);
//			cerr << "a: " << a << " b: " << b << '\n';
			pr[++tim] = {a, b};
			st.insert({a, b});
		}else if(type == 2){
			int id; cin >> id;
			st.erase(pr[id]);
		}else{
			int l, r, k;
			cin >> l >> r >> k;
			l = (l ^ (t * last));
			r = (r ^ (t * last));
			if(l > r) swap(l, r);
//			cerr << "l: " << l << " r: " << r << '\n';
			last = get(l, r, k);
			cout << last << '\n';
		}
	}
};











# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 204 KB Output is correct
2 Correct 0 ms 204 KB Output is correct
3 Correct 2 ms 332 KB Output is correct
4 Correct 3 ms 332 KB Output is correct
5 Correct 42 ms 548 KB Output is correct
6 Correct 54 ms 508 KB Output is correct
7 Correct 10 ms 352 KB Output is correct
8 Correct 26 ms 476 KB Output is correct
9 Correct 25 ms 464 KB Output is correct
10 Correct 11 ms 564 KB Output is correct
11 Correct 63 ms 460 KB Output is correct
12 Correct 61 ms 436 KB Output is correct
13 Correct 12 ms 460 KB Output is correct
14 Correct 22 ms 332 KB Output is correct
15 Correct 3 ms 332 KB Output is correct
16 Correct 2 ms 332 KB Output is correct
17 Correct 16 ms 408 KB Output is correct
18 Correct 17 ms 460 KB Output is correct
19 Correct 18 ms 412 KB Output is correct
20 Correct 18 ms 416 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Execution timed out 5064 ms 3180 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 60 ms 604 KB Output is correct
2 Correct 42 ms 636 KB Output is correct
3 Correct 102 ms 680 KB Output is correct
4 Correct 45 ms 584 KB Output is correct
5 Execution timed out 5053 ms 4292 KB Time limit exceeded
6 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 48 ms 632 KB Output is correct
2 Correct 44 ms 652 KB Output is correct
3 Correct 44 ms 612 KB Output is correct
4 Correct 55 ms 568 KB Output is correct
5 Execution timed out 5078 ms 4548 KB Time limit exceeded
6 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 204 KB Output is correct
2 Correct 0 ms 204 KB Output is correct
3 Correct 2 ms 332 KB Output is correct
4 Correct 3 ms 332 KB Output is correct
5 Correct 42 ms 548 KB Output is correct
6 Correct 54 ms 508 KB Output is correct
7 Correct 10 ms 352 KB Output is correct
8 Correct 26 ms 476 KB Output is correct
9 Correct 25 ms 464 KB Output is correct
10 Correct 11 ms 564 KB Output is correct
11 Correct 63 ms 460 KB Output is correct
12 Correct 61 ms 436 KB Output is correct
13 Correct 12 ms 460 KB Output is correct
14 Correct 22 ms 332 KB Output is correct
15 Correct 3 ms 332 KB Output is correct
16 Correct 2 ms 332 KB Output is correct
17 Correct 16 ms 408 KB Output is correct
18 Correct 17 ms 460 KB Output is correct
19 Correct 18 ms 412 KB Output is correct
20 Correct 18 ms 416 KB Output is correct
21 Execution timed out 5064 ms 3180 KB Time limit exceeded
22 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 204 KB Output is correct
2 Correct 0 ms 204 KB Output is correct
3 Correct 2 ms 332 KB Output is correct
4 Correct 3 ms 332 KB Output is correct
5 Correct 42 ms 548 KB Output is correct
6 Correct 54 ms 508 KB Output is correct
7 Correct 10 ms 352 KB Output is correct
8 Correct 26 ms 476 KB Output is correct
9 Correct 25 ms 464 KB Output is correct
10 Correct 11 ms 564 KB Output is correct
11 Correct 63 ms 460 KB Output is correct
12 Correct 61 ms 436 KB Output is correct
13 Correct 12 ms 460 KB Output is correct
14 Correct 22 ms 332 KB Output is correct
15 Correct 3 ms 332 KB Output is correct
16 Correct 2 ms 332 KB Output is correct
17 Correct 16 ms 408 KB Output is correct
18 Correct 17 ms 460 KB Output is correct
19 Correct 18 ms 412 KB Output is correct
20 Correct 18 ms 416 KB Output is correct
21 Execution timed out 5064 ms 3180 KB Time limit exceeded
22 Halted 0 ms 0 KB -