QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#416810#8711. Tileszhoukangyang#0 1ms5508kbC++141.6kb2024-05-22 08:36:252024-05-22 08:36:26

Judging History

你现在查看的是最新测评结果

  • [2024-05-22 08:36:26]
  • 评测
  • 测评结果:0
  • 用时:1ms
  • 内存:5508kb
  • [2024-05-22 08:36:25]
  • 提交

answer

#include<bits/stdc++.h>
#define L(i, j, k) for(int i = (j); i <= (k); ++i)
#define R(i, j, k) for(int i = (j); i >= (k); --i)
#define ll long long
#define sz(a) ((int) (a).size())
#define vi vector < int >
#define me(a, x) memset(a, x, sizeof(a))
#define ull unsigned long long
#define ld __float128
#define pb emplace_back
using namespace std;
const int N = 3e5 + 7;
map<int,vector<pair<int,int>>>mp;
int n, m;
int x[N], y[N];
vector<pair<int,vector<pair<int,int>>>>vc;
bool hos[N], occ[N];
int main() {
	ios :: sync_with_stdio(false);
	cin.tie(0); cout.tie(0);
	cin >> n >> m;
	L(i, 1, n) {
		cin >> x[i] >> y[i];
	}
	L(i, 1, n) {
		int nxt = i % n + 1;
		if(x[nxt] == x[i]) {
			mp[x[i]].pb(min(y[i], y[nxt]), max(y[i], y[nxt]));
		}
	}
	for(auto&u : mp) {
		vc.pb(u);
	}
	int ns = 0;
	L(i, 0, sz(vc) - 2) {
		int len = vc[i + 1].first - vc[i].first;
		if(len >= 3) len = len % 2 + 2;
		for(auto&it : vc[i].second) {
			L(j, it.first + 1, it.second) {
				occ[j] ^= 1;
			}
		}
		L(j, 1, len) {
			int ban = 0;
			int all_zero = 1;
			vi diff;
			int lst = 0, var = 0;
			L(j, 1, 1003) {
				if(occ[j]) {
					hos[j] ^= 1;
					all_zero &= !hos[j];
					if(var == 0) lst = hos[j];
					else if(lst != hos[j]) ban = 1;
					var ^= 1;
				}
				if(occ[j] != occ[j - 1]) diff.pb(j);
			}
			L(j, 0, sz(diff) - 1) {
				ban |= diff[j] % 2 != diff[0] % 2;
			}
			if(ban) {
				cout << ns << '\n';
				return 0;
			}
			if(all_zero) {
				ns = max(ns, vc[i + 1].first - len + j);
			}
		}
	}
	cout << ns << '\n';
	return 0;
} 

详细

Subtask #1:

score: 0
Runtime Error

Test #1:

score: 4
Accepted
time: 1ms
memory: 5508kb

input:

4 3
0 0
0 3
3 3
3 0

output:

0

result:

ok single line: '0'

Test #2:

score: 0
Runtime Error

input:

4 999999999
999999999 0
999999999 1000000000
0 1000000000
0 0

output:


result:


Subtask #2:

score: 0
Skipped

Dependency #1:

0%

Subtask #3:

score: 0
Runtime Error

Test #32:

score: 11
Accepted
time: 1ms
memory: 3752kb

input:

1551 1000
0 988
2 988
3 988
6 988
6 985
6 982
6 981
6 979
6 978
6 977
6 976
6 975
6 974
6 972
6 970
6 969
6 968
6 966
6 965
6 964
7 964
8 964
8 963
8 961
8 960
10 960
11 960
13 960
16 960
16 959
16 958
16 957
16 954
16 953
16 951
16 950
17 950
18 950
18 948
18 946
18 945
18 944
18 942
18 941
18 939
...

output:

164

result:

ok single line: '164'

Test #33:

score: 0
Runtime Error

input:

36221 1000000000
0 996776952
43916 996776952
43916 996301596
102050 996301596
102050 995243908
173144 995243908
173144 992639626
184542 992639626
184542 987461238
192474 987461238
192474 982703402
406098 982703402
406098 980100986
525272 980100986
525272 978443232
532708 978443232
532708 977775310
6...

output:


result:


Subtask #4:

score: 0
Wrong Answer

Test #45:

score: 0
Wrong Answer
time: 1ms
memory: 3548kb

input:

14 6
0 1
0 3
2 3
2 4
0 4
0 6
3 6
3 7
4 7
6 7
6 5
3 5
3 2
3 1

output:

0

result:

wrong answer 1st lines differ - expected: '2', found: '0'

Subtask #5:

score: 0
Runtime Error

Test #89:

score: 0
Runtime Error

input:

199996 198506138
31225688 248200160
31225688 248291950
28995282 248291950
28995282 248200160
26764876 248200160
26764876 248291950
24534470 248291950
24534470 248200160
22304064 248200160
22304064 248291950
20073658 248291950
20073658 248200160
17843252 248200160
17843252 248291950
15612846 24829195...

output:


result:


Subtask #6:

score: 0
Runtime Error

Test #118:

score: 0
Runtime Error

input:

200000 1000000000
1000000000 0
999990876 0
999990876 38
999972524 38
999972524 1510
999969180 1510
999969180 3734
999964780 3734
999964780 4138
999960464 4138
999960464 11052
999953728 11052
999953728 24478
999914972 24478
999914972 25892
999909864 25892
999909864 28102
999902920 28102
999902920 301...

output:


result:


Subtask #7:

score: 0
Skipped

Dependency #1:

0%