QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#735341 | #5983. Pretty Good Proportion | Azusa | 0 | 482ms | 14168kb | C++14 | 940b | 2024-11-11 19:21:21 | 2024-11-11 19:21:21 |
Judging History
answer
#include<bits/stdc++.h>
#define rep(i,a,n) for(int i=(a);i<=(n);++i)
#define per(i,a,n) for(int i=(n);i>=(a);--i)
#define SZ(x) ((int)(x).size())
#define eps 1e-16
using namespace std;
typedef long double db;
typedef long long ll;
typedef pair<int,int> pii;
const int maxn=5e5+10;
int n,id[maxn];
db p,a[maxn];
char s[maxn];
inline void solve(){
scanf("%d%Lf%s",&n,&p,s+1);
rep(i,1,n){
id[i]=i;
a[i]=a[i-1]+(s[i]=='1')-p;
}
id[0]=0;
sort(id,id+1+n,[&](const int &x,const int &y){
return a[x]<a[y];
});
db res=10000000000000000;
rep(i,1,n){
res=min(res,fabsl((a[id[i]]-a[id[i-1]])/(id[i]-id[i-1])));
}
int lef=n+1;
rep(i,1,n){
if(fabsl((a[id[i]]-a[id[i-1]])/(id[i]-id[i-1]))-res<eps){
lef=min(lef,min(id[i],id[i-1])+1);
}
}
printf("%d\n",lef);
}
signed main(){
int _=1;
scanf("%d",&_);
rep(t,1,_){
printf("Case #%d: ",t);
solve();
}
}
詳細信息
Subtask #1:
score: 0
Wrong Answer
Test #1:
score: 0
Wrong Answer
time: 2ms
memory: 5968kb
input:
100 10 0.827672 0010101011 4 0.932623 0100 1000 0.834002 011001110010111110000110101100010010100101101110110111100010101101111100110001011000110100010100011011000001100001010110111101111010110110000110011000111000011110101100100111111001111011011100111001011101010100111011100011110011100011110010001...
output:
Case #1: 7 Case #2: 2 Case #3: 11 Case #4: 1 Case #5: 1 Case #6: 2 Case #7: 1 Case #8: 1 Case #9: 1 Case #10: 1 Case #11: 1 Case #12: 5 Case #13: 6 Case #14: 565 Case #15: 1 Case #16: 1 Case #17: 1 Case #18: 1 Case #19: 1 Case #20: 1 Case #21: 1 Case #22: 1 Case #23: 1 Case #24: 845 Case #25: 1 Case...
result:
wrong answer 1st lines differ - expected: 'Case #1: 6', found: 'Case #1: 7'
Subtask #2:
score: 0
Wrong Answer
Test #2:
score: 0
Wrong Answer
time: 482ms
memory: 14168kb
input:
100 15 0.333333 000000000011000 10 0.418754 0101100001 2 0.499999 01 3 0.977951 001 2 0.249999 01 10 0.670229 0111011001 1000 0.500001 001101111110110010110000010010110001110010001101110111010011000010100011011101010110011011011010111110011100011000001000101011100011010100101101111110100101011010111...
output:
Case #1: 7 Case #2: 1 Case #3: 1 Case #4: 3 Case #5: 1 Case #6: 1 Case #7: 1 Case #8: 1 Case #9: 1 Case #10: 1 Case #11: 1 Case #12: 1 Case #13: 1 Case #14: 1 Case #15: 1 Case #16: 4334 Case #17: 1 Case #18: 1 Case #19: 124 Case #20: 1 Case #21: 1 Case #22: 1 Case #23: 1 Case #24: 1 Case #25: 1 Case...
result:
wrong answer 1st lines differ - expected: 'Case #1: 6', found: 'Case #1: 7'