QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#743169 | #5173. 染色 | Augenstern | 0 | 17ms | 7664kb | C++14 | 1.0kb | 2024-11-13 18:27:36 | 2024-11-13 18:27:37 |
Judging History
answer
//#pragma GCC optimize(3)
//#pragma GCC optimize("Ofast,unroll-loops")
#include<bits/stdc++.h>
//#define int long long
//#define ull unsigned long long
#define lll __int128
//#define double long double
#define fi first
#define se second
using namespace std;
const long long INF=1e9+5;
const long long mod=998244353,orm=3;
//const long long mod=1000000007;
const int MAXN=2000005;
const double eps=1e-6;
bool ST;
int n,Q;
int a[MAXN];
int f[MAXN][2];
void solve() {
cin>>n>>Q;
for(int i=1;i<=n;i++) cin>>a[i];
while(Q--) {
int l,r;cin>>l>>r;
if(l>r) swap(l,r);
f[l][0]=0,f[l][1]=INF;
for(int i=l+1;i<=r;i++) {
f[i][0]=f[i-1][0]+(a[i-1]!=a[i]);
if(i-2>=l) f[i][0]=min(f[i][0],f[i-1][1]+(a[i]!=a[i-2]));
f[i][1]=f[i-1][0]+(a[i-1]!=a[i]);
}
cout<<min(f[r][0],f[r][1])+(r-l)<<"\n";
}
}
bool ED;
signed main() {
// cout<<(&ST-&ED)/1024.0/1024.0;
// freopen(".in","r",stdin);
// freopen(".out","w",stdout);
ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
solve();
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: 7664kb
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: 17ms
memory: 5716kb
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...