QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#610040 | #6433. Klee in Solitary Confinement | ucup-team4352# | WA | 9ms | 3816kb | C++23 | 1.1kb | 2024-10-04 14:46:37 | 2024-10-04 14:46:45 |
Judging History
answer
#include<bits/stdc++.h>
#define ll long long
#define pii pair<ll,ll>
#define lowbit(x) (x&-x)
#define log(x) (31^__builtin_clz(x))
using namespace std;
vector<int>l[1000005<<1];
int a[1000005];
void solve(){
int n,k;
cin>>n>>k;
for(int i=1;i<=n;i++){
cin>>a[i];
a[i]+=1e6;
l[a[i]].push_back(i);
}
int ans=0;
for(int i=1;i<=2e6;i++){
ans=max(ans,(int)l[i].size());
if(i+k<1||i+k>2e6||k==0)continue;
vector<int>t;
int now=0;
for(auto u:l[i]){
while(now<l[i+k].size()&&l[i+k][now]<u){
t.push_back(-1);
now++;
}
t.push_back(1);
}
while(now<l[i+k].size()){
t.push_back(-1);
now++;
}
int mn=0,siz=l[i+k].size();
for(int i=0;i<t.size();i++){
if(i)t[i]+=t[i-1];
ans=max(ans,t[i]-mn+siz);
mn=min(mn,t[i]);
}
}
cout<<ans<<"\n";
}
int main(){
ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);
int t=1;
// cin>>t;
while(t--)solve();
return 0;
}
詳細信息
Test #1:
score: 100
Accepted
time: 9ms
memory: 3588kb
input:
5 2 2 2 4 4 4
output:
5
result:
ok 1 number(s): "5"
Test #2:
score: 0
Accepted
time: 9ms
memory: 3816kb
input:
7 1 3 2 3 2 2 2 3
output:
6
result:
ok 1 number(s): "6"
Test #3:
score: 0
Accepted
time: 9ms
memory: 3592kb
input:
7 1 2 3 2 3 2 3 3
output:
5
result:
ok 1 number(s): "5"
Test #4:
score: 0
Accepted
time: 9ms
memory: 3596kb
input:
9 -100 -1 -2 1 2 -1 -2 1 -2 1
output:
3
result:
ok 1 number(s): "3"
Test #5:
score: 0
Accepted
time: 5ms
memory: 3568kb
input:
200 121649 0 527189 -1000000 -306471 -998939 527189 -1000000 -1000000 0 527189 0 527189 0 527189 -306471 -998939 -306471 -306471 -306471 0 0 527189 527189 1000000 527189 -1000000 1000000 648838 -1000000 -998939 -998939 -998939 0 1000000 -1000000 -998939 527189 1000000 648838 -1000000 1000000 648838 ...
output:
37
result:
ok 1 number(s): "37"
Test #6:
score: -100
Wrong Answer
time: 8ms
memory: 3636kb
input:
200 -454379 -385892 454379 -1000000 373644 -665078 -1000000 -1000000 454379 0 1000000 373644 -1000000 1000000 -385892 -1000000 373644 0 -665078 0 -665078 -1000000 -665078 -385892 -665078 -385892 454379 -665078 -385892 -1000000 454379 1000000 -385892 373644 454379 -1000000 -385892 -1000000 -385892 -1...
output:
38
result:
wrong answer 1st numbers differ - expected: '40', found: '38'