QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#549322 | #9229. Juliet Unifies Ones | Amanicus# | WA | 0ms | 3832kb | C++14 | 1.2kb | 2024-09-06 14:21:23 | 2024-09-06 14:21:26 |
Judging History
answer
#include<bits/stdc++.h>
using namespace std;
using ll =long long ;
vector<ll>a1,a0;
ll b1[100],b0[100];
ll dp1[100][5],dp2[100][5];
int main()
{
ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
string s;
cin>>s;
ll n=s.size();
ll f=0;
for(ll i=0;i<n;i++)
{
if(s[i]=='1')
{
f=1;
ll j;
for(j=i;j<n;j++)
{
if(s[j]!=s[i])
{
break;
}
}
a1.push_back(j-i);
i=j-1;
}
else if(s[i]=='0'&&f==1)
{
ll j;
for(j=i;j<n;j++)
{
if(s[j]!=s[i])
{
break;
}
}
a1.push_back(j-i);
i=j-1;
}
}
ll l1=a1.size(),ff=0,ans1=0,ans2=0,i,sum=0;
a1.push_back(0);
a1.push_back(0);
if(l1%2==0&&l1!=0)
{
a1[l1-1]=0;
l1--;
}
for(i=0;i<l1;i+=2)
{
if(a1[i]>a1[i+1])
{
break;
}
ans1+=a1[i];
}
ll j;
for(j=i;j<l1;j+=2)
{
dp1[j+1][0]=dp1[j-1][0]+a1[j+1];
dp1[j+1][1]=min(dp1[j-1][1],dp1[j-1][0])+a1[j+2];
}
for(i=0;i<l1;i+=2)
{
if(a1[i]>=a1[i+1])
{
break;
}
ans2+=a1[i];
}
for(j=i;j<l1;j+=2)
{
dp2[j+1][0]=dp2[j-1][0]+a1[j+1];
dp2[j+1][1]=min(dp2[j-1][1],dp2[j-1][0])+a1[j+2];
}
cout<<min(min(dp1[j-1][0],dp1[j-1][1])+ans1,min(dp2[j-1][0],dp2[j-1][1])+ans2)<<'\n';
}
詳細信息
Test #1:
score: 100
Accepted
time: 0ms
memory: 3492kb
input:
00011011001
output:
2
result:
ok 1 number(s): "2"
Test #2:
score: 0
Accepted
time: 0ms
memory: 3620kb
input:
11101111111111111101001011110111111110011101010110
output:
11
result:
ok 1 number(s): "11"
Test #3:
score: 0
Accepted
time: 0ms
memory: 3540kb
input:
00000000100000000000100000010001000
output:
3
result:
ok 1 number(s): "3"
Test #4:
score: 0
Accepted
time: 0ms
memory: 3828kb
input:
00000000000000000000000000000000000000000000000000
output:
0
result:
ok 1 number(s): "0"
Test #5:
score: 0
Accepted
time: 0ms
memory: 3532kb
input:
00000000100000000000100000011000
output:
2
result:
ok 1 number(s): "2"
Test #6:
score: 0
Accepted
time: 0ms
memory: 3588kb
input:
11000010100100000011101100000001000100000000000000
output:
8
result:
ok 1 number(s): "8"
Test #7:
score: 0
Accepted
time: 0ms
memory: 3548kb
input:
01100100111011110101010110000100001111110001110001
output:
19
result:
ok 1 number(s): "19"
Test #8:
score: 0
Accepted
time: 0ms
memory: 3536kb
input:
1110101111001
output:
3
result:
ok 1 number(s): "3"
Test #9:
score: 0
Accepted
time: 0ms
memory: 3824kb
input:
1
output:
0
result:
ok 1 number(s): "0"
Test #10:
score: 0
Accepted
time: 0ms
memory: 3756kb
input:
1001
output:
1
result:
ok 1 number(s): "1"
Test #11:
score: 0
Accepted
time: 0ms
memory: 3832kb
input:
11111111111111111111111111111111111111111111111111
output:
0
result:
ok 1 number(s): "0"
Test #12:
score: -100
Wrong Answer
time: 0ms
memory: 3756kb
input:
11111100000000001101010101100011
output:
12
result:
wrong answer 1st numbers differ - expected: '9', found: '12'