QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#740546#5173. 染色Felix720 23ms5716kbC++14783b2024-11-13 10:23:532024-11-13 10:23:55

Judging History

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

  • [2024-11-13 10:23:55]
  • 评测
  • 测评结果:0
  • 用时:23ms
  • 内存:5716kb
  • [2024-11-13 10:23:53]
  • 提交

answer

/* Good Game, Well Play. */
#include <bits/stdc++.h>
using namespace std;

const int N = 1000010;
int n, m, a[N], f[N];
inline int work(int l, int r)
{
	f[l] = 0;
	for(int i = l + 1; i <= r; ++i)
	{
		f[i] = f[i - 1] + (a[i - 1] != a[i]) + 1;
		if(i > l + 1) f[i] = min(f[i], f[i - 2] + 3 + (a[i - 2] != a[i]));
	}
//	cout << "! "; for(int i = l; i <= r; ++i) cout << f[i] << " "; cerr << '\n';
	return f[r];
}

int main()
{
//	freopen("text.in", "r", stdin);
//	freopen("prog.out", "w", stdout); 
	ios::sync_with_stdio(false);
	cin.tie(0), cout.tie(0);
	cin >> n >> m;
	for(int i = 1; i <= n; ++i) cin >> a[i];
	for(int i = 1; i <= m; ++i)
	{
		int l, r; cin >> l >> r;
		if(l > r) swap(l, r);
		cout << work(l, r) << '\n';
	}
	return 0;
}
/*

*/

Details

Tip: Click on the bar to expand more detailed information

Subtask #1:

score: 0
Wrong Answer

Test #1:

score: 0
Wrong Answer
time: 2ms
memory: 5716kb

input:

10000 100
84 85 52 2 78 53 20 21 23 76 37 44 18 5 37 8 81 65 46 58 69 1 69 37 53 46 37 35 35 89 1 77 35 6 46 59 89 46 25 55 50 38 61 67 44 23 29 24 46 4 42 15 34 77 20 34 83 79 12 50 69 26 38 14 9 66 80 72 22 26 9 68 35 38 19 84 92 30 83 62 100 71 81 60 7 37 64 50 33 60 86 75 45 78 32 53 3 48 87 60 ...

output:

3787
4725
6171
8652
750
7242
190
7559
510
1177
261
2321
13654
6463
471
7755
2229
10828
1849
2756
4956
303
6196
646
6878
6382
11784
2801
3266
8093
18365
528
5669
18419
9880
6353
5155
15052
690
478
16120
13083
9161
8085
11342
6823
6608
5194
9398
8808
2246
10637
2775
12949
5123
2213
9093
1969
6684
2926...

result:

wrong answer 1st words differ - expected: '3668', found: '3787'

Subtask #2:

score: 0
Time Limit Exceeded

Test #7:

score: 0
Time Limit Exceeded

input:

100000 100000
3 2 3 3 3 3 2 3 2 1 3 1 1 1 3 2 1 3 1 2 2 1 3 1 2 2 1 1 1 3 2 1 3 3 3 3 1 1 1 2 3 3 2 1 1 1 3 1 3 1 3 2 1 3 2 3 3 2 3 3 2 3 3 3 3 3 2 3 2 3 1 3 3 3 3 3 3 3 1 2 3 3 1 3 1 1 2 2 3 1 1 2 3 2 3 1 3 2 1 3 2 3 2 1 1 3 3 1 3 1 2 2 2 3 2 3 2 3 2 1 1 3 1 3 2 2 3 3 3 1 2 2 3 3 2 1 3 1 2 2 2 3 2 ...

output:

115472
135785
56012
6606
9385
79867
95825
29778
39704
113819
67974
7358
67339
43650
45536
50287
11311
109879
73151
10934
4820
88920
47801
77338
27840
11148
12500
60713
19006
56212
11864
8021
5634
39504
68639
59488
17289
71533
71765
54741
52895
558
18849
122292
4104
44170
63777
34674
10073
25505
3387...

result:


Subtask #3:

score: 0
Wrong Answer

Test #15:

score: 0
Wrong Answer
time: 23ms
memory: 5628kb

input:

5000 5000
256 63 197 36 75 66 33 72 27 75 66 248 29 166 209 252 141 95 84 226 147 249 116 94 192 256 199 273 182 166 116 274 27 211 154 144 283 23 53 110 215 11 164 284 161 221 251 96 43 47 18 115 12 51 156 61 116 209 93 98 47 165 174 106 83 67 184 75 12 290 183 197 112 240 67 56 215 148 104 5 141 2...

output:

1351
2755
1778
2666
4860
5103
3017
1355
899
5176
7980
4961
955
943
823
7427
7822
5441
3892
3300
4571
1608
2590
40
922
308
4447
3966
3891
5853
4710
1691
445
1445
3699
5366
577
122
2087
7772
9304
2092
3186
3759
2945
429
741
4093
183
3298
1473
1636
7274
3069
6081
8249
1575
3885
370
4570
3365
1780
836
2...

result:

wrong answer 1st words differ - expected: '1322', found: '1351'

Subtask #4:

score: 0
Time Limit Exceeded

Test #23:

score: 0
Time Limit Exceeded

input:

1000000 1000000
1105 3246 1880 3554 818 2331 2576 4140 149 4562 3498 3536 3400 4788 4363 4742 1216 4218 4032 1701 1489 4889 1761 3022 3145 4945 3067 4304 5016 4624 1612 13 1335 3613 1086 2210 386 3464 1156 3352 4341 5006 3465 3900 622 654 1826 2983 1250 4164 3335 4308 2995 1982 1347 4335 2535 5054 4...

output:

1270717
310294
764228
79891
161216
580024
993602
1725441
1352405
216363
619330
549217
1393460
322464
1100274
52570
277626
228815
2492
148559
145573
670740
25561
225000
185347
1453070
1675383
550625
147214
974602
1112512
238836
821754
113112
85268
1195182
318399
721876
170446
562900
771979
414475
736...

result: