QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#544963 | #5420. Inscryption | Wuyanru | WA | 61ms | 8284kb | C++14 | 1.6kb | 2024-09-02 21:15:08 | 2024-09-02 21:15:08 |
Judging History
answer
#include<bits/stdc++.h>
#define inf 0x3f3f3f3f3f3f3f3fll
#define debug(x) cerr<<#x<<"="<<x<<endl
using namespace std;
using ll=long long;
using ld=long double;
using pli=pair<ll,int>;
using pi=pair<int,int>;
template<typename A>
using vc=vector<A>;
inline int read()
{
int s=0,w=1;char ch;
while((ch=getchar())>'9'||ch<'0') if(ch=='-') w=-1;
while(ch>='0'&&ch<='9') s=s*10+ch-'0',ch=getchar();
return s*w;
}
inline ll lread()
{
ll s=0,w=1;char ch;
while((ch=getchar())>'9'||ch<'0') if(ch=='-') w=-1;
while(ch>='0'&&ch<='9') s=s*10+ch-'0',ch=getchar();
return s*w;
}
int sum[1000002];
int mi[1000002];
int a[1000001];
int n;
int main()
{
int T=read();
while(T--)
{
n=read(),mi[n+1]=sum[n+1]=0;
for(int i=1;i<=n;i++) a[i]=read();
for(int i=n;i;i--)
{
int v=a[i]?a[i]:-1;
mi[i]=v+min(0,mi[i+1]);
sum[i]=sum[i+1]+(a[i]==1);
}
int A=0,B=1,nc=1,ns=1;
for(int i=1;i<=n;i++)
{
if(a[i]>=0) ns++,nc++;
else
{
nc--;
if(!nc) break;
}
if(nc+mi[i+1]<=0) continue;
int a=ns+sum[i+1],b=nc+sum[i+1]-(n-i-sum[i+1]);
// printf("i=%d : %d %d %d %d %d %d\n",i,nc,ns,sum[i+1],mi[i+1],a,b);
if(a*B>A*a) A=a,B=b;
}
if(!A) printf("-1\n");
else
{
int g=__gcd(A,B);
printf("%d %d\n",A/g,B/g);
}
}
return 0;
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 1ms
memory: 7828kb
input:
6 7 1 1 1 -1 1 1 -1 4 1 0 -1 0 4 0 -1 -1 0 1 0 2 0 0 1 -1
output:
3 2 3 1 -1 1 1 2 1 -1
result:
ok 6 lines
Test #2:
score: 0
Accepted
time: 61ms
memory: 7840kb
input:
1000000 1 1 1 -1 1 1 1 1 1 1 1 1 1 -1 1 -1 1 0 1 0 1 1 1 0 1 -1 1 0 1 1 1 0 1 1 1 0 1 1 1 0 1 0 1 0 1 1 1 -1 1 1 1 1 1 -1 1 0 1 1 1 0 1 -1 1 0 1 -1 1 1 1 -1 1 0 1 1 1 1 1 -1 1 0 1 -1 1 -1 1 -1 1 -1 1 0 1 0 1 -1 1 0 1 -1 1 0 1 0 1 0 1 0 1 0 1 -1 1 1 1 0 1 0 1 1 1 0 1 -1 1 1 1 1 1 0 1 1 1 1 1 1 1 0 1 ...
output:
1 1 -1 1 1 1 1 1 1 1 1 -1 -1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 -1 1 1 1 1 1 1 -1 1 1 -1 1 1 -1 1 1 1 1 1 1 -1 1 1 -1 -1 -1 -1 1 1 1 1 -1 1 1 -1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 -1 1 1 1 1 -1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 ...
result:
ok 1000000 lines
Test #3:
score: 0
Accepted
time: 28ms
memory: 7892kb
input:
181249 6 1 0 -1 0 1 0 4 1 -1 -1 -1 8 -1 0 0 0 1 -1 1 1 3 0 1 0 6 1 0 -1 1 -1 0 4 1 -1 -1 -1 9 0 1 0 -1 -1 0 -1 0 1 1 -1 3 0 -1 1 5 0 0 1 -1 1 3 1 -1 0 6 -1 0 0 -1 0 1 8 1 -1 -1 -1 0 1 -1 0 2 0 0 3 -1 1 0 3 0 -1 -1 10 0 1 0 -1 1 1 0 -1 1 0 3 1 0 0 9 1 -1 1 -1 0 -1 0 0 0 3 0 1 0 3 -1 0 0 7 -1 0 -1 -1 ...
output:
4 1 -1 -1 3 2 4 1 -1 3 1 -1 3 2 2 1 3 2 -1 -1 2 1 -1 -1 6 1 3 2 3 1 3 2 -1 -1 -1 -1 2 1 5 3 -1 5 4 2 1 -1 3 2 5 1 1 1 -1 3 2 -1 1 1 -1 2 1 1 1 -1 1 1 -1 1 1 3 2 -1 -1 -1 -1 3 2 5 2 1 1 -1 3 1 -1 -1 1 1 -1 6 1 3 2 -1 3 2 4 3 2 1 -1 5 3 3 1 6 1 -1 2 1 5 4 -1 1 1 -1 3 1 -1 -1 5 3 1 1 2 1 5 2 -1 3 1 4 3...
result:
ok 181249 lines
Test #4:
score: 0
Accepted
time: 10ms
memory: 7892kb
input:
19793 93 1 -1 1 1 -1 -1 1 0 0 0 0 1 1 -1 -1 -1 0 -1 -1 1 -1 0 0 0 0 1 0 -1 -1 1 -1 1 -1 1 -1 1 1 -1 1 0 1 0 -1 -1 0 1 1 0 -1 -1 0 1 1 0 -1 1 -1 -1 -1 0 0 0 1 -1 0 1 -1 0 0 0 1 0 -1 1 -1 -1 1 -1 0 1 -1 0 -1 -1 1 0 0 0 0 0 0 -1 -1 36 0 1 1 -1 1 -1 0 1 1 1 0 -1 1 1 -1 0 1 1 1 1 0 1 -1 -1 1 -1 1 0 -1 0 ...
output:
24 1 19 1 12 1 47 4 12 1 22 1 23 3 14 1 11 2 46 1 -1 -1 -1 26 3 -1 -1 13 1 2 1 -1 33 4 41 2 -1 43 2 -1 -1 -1 -1 25 1 7 1 -1 -1 -1 -1 -1 11 2 2 1 -1 27 4 -1 31 1 14 1 20 1 -1 5 3 38 1 24 1 -1 2 1 23 2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 18 1 50 1 37 1 19 2 -1 21 1 -1 -1 14 1 15 2 30 1 -1 13 3 -1 -...
result:
ok 19793 lines
Test #5:
score: 0
Accepted
time: 15ms
memory: 7908kb
input:
1987 350 -1 1 0 0 0 -1 0 1 -1 1 0 0 -1 1 1 -1 1 1 -1 -1 -1 -1 0 1 1 0 1 0 0 0 -1 0 1 -1 1 0 1 -1 -1 1 0 1 1 1 -1 0 0 0 1 0 1 0 0 1 -1 1 0 1 0 1 -1 1 0 1 -1 -1 0 -1 1 0 -1 1 1 1 -1 -1 -1 0 0 0 0 -1 -1 -1 -1 -1 0 1 1 -1 -1 1 0 1 -1 0 0 -1 -1 1 0 0 -1 0 -1 1 1 0 -1 1 -1 0 -1 1 -1 1 1 -1 0 0 1 -1 1 0 1 ...
output:
-1 -1 182 3 57 2 205 2 262 3 428 3 25 1 333 2 -1 469 1 440 3 176 3 -1 -1 -1 175 2 -1 44 1 -1 -1 -1 -1 -1 -1 135 1 -1 -1 -1 -1 -1 -1 -1 470 3 158 5 215 1 -1 -1 -1 -1 55 1 -1 -1 -1 241 1 175 11 -1 393 1 224 5 45 1 165 1 209 1 -1 488 1 15 1 -1 -1 -1 -1 -1 312 5 -1 -1 -1 -1 78 1 211 2 -1 -1 172 1 458 1 ...
result:
ok 1987 lines
Test #6:
score: 0
Accepted
time: 7ms
memory: 8016kb
input:
188 5255 1 0 -1 -1 1 0 0 0 -1 0 -1 1 0 -1 1 0 -1 0 -1 0 0 0 0 -1 -1 0 0 1 -1 1 0 -1 0 -1 -1 1 0 1 -1 1 -1 1 0 1 1 1 -1 1 1 1 -1 0 -1 -1 0 0 1 1 0 0 -1 -1 0 1 0 0 1 0 -1 -1 1 -1 -1 1 0 -1 1 0 0 -1 1 -1 -1 -1 1 1 -1 0 1 1 -1 -1 1 0 -1 -1 -1 0 1 1 1 -1 0 1 -1 1 -1 0 1 0 -1 1 0 0 1 0 0 -1 1 1 -1 1 1 -1 ...
output:
2629 2 -1 -1 2154 1 1205 2 2907 1 -1 3373 2 4531 4 -1 3399 2 -1 -1 -1 -1 470 3 -1 1737 1 -1 -1 1475 2 4915 3 705 7 -1 2269 2 4587 2 -1 2021 1 -1 2990 7 -1 -1 -1 -1 848 1 1533 1 -1 -1 595 1 -1 -1 -1 1553 4 -1 225 4 -1 -1 -1 1697 3 494 1 -1 2433 1 -1 -1 -1 -1 -1 -1 931 3 -1 3211 1 1119 1 1382 1 1591 1...
result:
ok 188 lines
Test #7:
score: -100
Wrong Answer
time: 11ms
memory: 8284kb
input:
19 48437 -1 1 1 -1 0 0 -1 1 -1 1 -1 -1 -1 -1 -1 0 1 0 1 -1 -1 1 -1 -1 1 1 1 0 1 -1 0 0 -1 -1 0 0 1 0 0 1 1 1 1 0 -1 0 -1 1 1 -1 -1 0 1 1 0 0 0 1 0 -1 0 -1 1 0 0 0 -1 1 1 -1 0 0 0 0 -1 0 -1 0 -1 0 1 0 -1 1 0 1 -1 1 0 1 1 0 0 1 -1 -1 0 1 -1 0 1 1 -1 1 -1 0 -1 -1 1 0 -1 1 0 1 0 0 1 1 0 1 1 -1 0 -1 0 1 ...
output:
-1 -1 -1 3841 5 11848 1 24812 1 -1 62749 31510 17939 9067 -1 18922 5 -1 -1 -1 10079 4 -1 -1 2267 3 64185 31931
result:
wrong answer 8th lines differ - expected: '46995 2', found: '62749 31510'