QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#479318#4925. Adjacent PairsNevll#0 0ms4092kbC++141.6kb2024-07-15 16:22:292024-07-15 16:22:30

Judging History

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

  • [2024-07-15 16:22:30]
  • 评测
  • 测评结果:0
  • 用时:0ms
  • 内存:4092kb
  • [2024-07-15 16:22:29]
  • 提交

answer

# include <bits/stdc++.h>
# define ll long long
# define ld double
# define fi first
# define se second
# define pii pair<int, int>
# define pll pair<ll, ll>
using namespace std;

int main() {
	int cases;
	scanf("%d", &cases);
	while(cases--) {
		int N;
		scanf("%d", &N);
		map<int, int> M1, M2;
		map<pii, vector<int> > M3;
		
		int a1 = 0, a2 = 0;
		vector<int> arr(N);
		
		pii bf = {-1, -1};
		
		for(int i=0;i<N;i++) {
			scanf("%d", &arr[i]);
			if(i%2 == 1) {
				M1[arr[i]]++;
				if(i > 0) M3[{arr[i], arr[i - 1]}].push_back(i - 1);
			} else {
				M2[arr[i]]++;
				if(i > 0) M3[{arr[i - 1], arr[i]}].push_back(i - 1);
			}
		}
		
		map<pii, int> res;
		for(auto p : M3) {
			int ct = 0, cnt = 0;
			for(int k=0;k<p.se.size();k++) {
				if(cnt == 0) cnt += 2;
				else if(p.se[k] == p.se[k - 1] + 1) cnt++;
				else {
					ct += cnt / 2;
					cnt = 2;
				}
			}
			ct += cnt / 2;
			res[p.fi] = ct;
		}
		
		vector<pii> c1, c2;
		c1.clear();
		c2.clear();
		
		for(auto p : M1) c1.push_back(p);
		for(auto p : M2) c2.push_back(p);
		
		c1.push_back({-1, 0});
		c2.push_back({-2, 0});
		
		sort(c1.begin(), c1.end());
		sort(c2.begin(), c2.end());
		
		int ans = 1e9;
		for(int i=c1.size()-1;i>=0;i--) {
			for(int k=c2.size()-1;k>=0;k--) {
				if(c1[i].fi == c2[k].fi) continue;
				
				int val = res[{c2[k].fi, c1[i].fi}];
			//	cout<<"val ; "<<c1[i].fi<<" "<<c2[k].fi<<" "<<val<<endl;
				int as = N - c1[i].se - c2[k].se + val;
				ans = min(ans, as);
				if(val == 0) break;
			}
		}
		
		printf("%d\n", ans);
	}
}

詳細信息

Subtask #1:

score: 0
Wrong Answer

Test #1:

score: 20
Accepted
time: 0ms
memory: 4092kb

input:

2
5
4 5 2 4 5
2
1 2

output:

3
0

result:

ok 2 lines

Test #2:

score: 0
Accepted
time: 0ms
memory: 3856kb

input:

1
9
1 2 1 2 3 1 2 1 2

output:

6

result:

ok single line: '6'

Test #3:

score: 0
Accepted
time: 0ms
memory: 3800kb

input:

1
7
6 5 4 1 2 6 5

output:

5

result:

ok single line: '5'

Test #4:

score: 0
Accepted
time: 0ms
memory: 3836kb

input:

1
16
4 3 4 3 4 3 4 3 1 4 3 4 1 4 3 4

output:

10

result:

ok single line: '10'

Test #5:

score: 0
Accepted
time: 0ms
memory: 4088kb

input:

9
11
1 4 5 7 9 2 10 3 11 6 8
11
10 7 11 4 3 6 9 2 8 1 5
11
11 9 8 10 1 7 5 4 3 6 2
11
9 10 6 11 5 1 8 7 2 4 3
11
11 6 2 1 10 4 3 8 7 9 5
11
5 10 4 9 6 1 2 7 8 11 3
11
7 9 8 11 6 1 4 5 2 3 10
11
10 3 11 2 6 1 9 7 4 5 8
12
10 9 4 7 11 6 8 12 2 1 3 5

output:

9
9
9
9
9
9
9
9
10

result:

ok 9 lines

Test #6:

score: 0
Accepted
time: 0ms
memory: 3808kb

input:

5
19
13 5 17 19 4 9 14 7 15 1 8 10 18 3 6 12 2 16 11
20
2 6 19 12 13 16 8 1 11 7 17 14 4 5 10 18 9 3 15 20
20
10 13 6 17 16 9 8 14 1 5 12 19 20 4 15 11 7 3 2 18
20
13 8 18 16 7 17 10 2 15 1 20 4 19 12 3 14 11 9 5 6
20
4 16 1 19 3 2 6 8 20 7 5 9 10 14 15 13 12 18 11 17

output:

17
18
18
18
18

result:

ok 5 lines

Test #7:

score: 0
Accepted
time: 0ms
memory: 3808kb

input:

2
49
21 4 18 35 34 39 9 48 16 33 31 7 10 12 41 40 8 14 2 22 30 24 44 27 42 29 37 17 23 45 32 46 1 26 28 5 25 49 43 6 38 19 11 36 15 47 13 3 20
50
18 4 7 46 39 37 9 20 48 14 3 35 32 43 17 11 31 8 28 26 1 36 6 21 27 12 24 44 29 15 42 38 22 23 45 25 33 2 13 34 41 19 47 49 5 10 40 16 50 30

output:

47
48

result:

ok 2 lines

Test #8:

score: 0
Accepted
time: 0ms
memory: 3796kb

input:

10
10
1 3 8 5 9 10 6 4 2 7
10
8 2 1 10 9 4 6 7 5 3
10
5 7 6 8 2 10 9 3 4 1
10
6 1 2 7 9 10 5 3 8 4
10
7 5 2 6 4 1 3 10 9 8
10
2 4 3 1 5 8 7 10 6 9
10
1 9 2 4 5 6 7 10 3 8
10
4 10 7 5 1 3 6 8 9 2
10
8 5 7 9 6 4 1 2 3 10
10
10 6 2 3 1 7 5 4 8 9

output:

8
8
8
8
8
8
8
8
8
8

result:

ok 10 lines

Test #9:

score: 0
Accepted
time: 0ms
memory: 3816kb

input:

4
24
8 7 24 21 19 22 12 9 13 11 1 20 3 16 10 6 2 4 15 17 5 14 18 23
25
23 20 1 7 9 22 6 15 25 21 2 14 10 18 11 5 13 4 17 3 24 8 16 19 12
25
17 19 14 8 22 13 10 1 4 20 15 7 25 16 5 23 9 11 12 6 18 24 2 3 21
25
17 2 3 6 13 24 10 25 4 22 1 11 9 14 20 7 15 21 19 16 12 18 8 5 23

output:

22
23
23
23

result:

ok 4 lines

Test #10:

score: 0
Accepted
time: 0ms
memory: 3820kb

input:

1
100
91 92 11 30 28 52 95 76 9 21 70 8 89 84 10 37 83 39 97 16 18 2 27 48 58 78 74 72 15 44 7 4 98 45 63 29 55 49 31 13 17 56 32 14 62 93 24 100 12 6 20 94 79 66 22 19 73 67 25 3 57 42 54 60 5 90 64 53 23 80 40 59 34 88 77 46 47 41 26 96 1 65 43 69 51 99 38 36 33 71 61 75 87 68 50 86 35 82 85 81

output:

98

result:

ok single line: '98'

Test #11:

score: -20
Wrong Answer
time: 0ms
memory: 3792kb

input:

10
9
5 4 1 9 6 7 1 3 6
10
5 10 6 10 6 10 8 7 5 1
10
6 10 7 9 7 4 2 8 2 5
10
9 5 3 9 5 3 7 9 7 3
10
2 9 6 10 6 10 7 3 7 10
10
2 5 1 5 10 8 10 5 8 4
10
5 1 3 4 9 4 10 4 1 6
10
7 6 7 10 6 7 6 7 6 10
10
2 4 2 4 9 2 7 2 7 4
10
8 9 10 6 5 6 7 5 1 9

output:

6
6
7
6
5
5
6
6
6
7

result:

wrong answer 2nd lines differ - expected: '5', found: '6'

Subtask #2:

score: 0
Skipped

Dependency #1:

0%

Subtask #3:

score: 0
Skipped

Dependency #1:

0%

Subtask #4:

score: 0
Skipped

Dependency #1:

0%