QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#607627#6433. Klee in Solitary ConfinementS_zhi#WA 14ms3864kbC++141.2kb2024-10-03 15:36:042024-10-03 15:36:04

Judging History

你现在查看的是最新测评结果

  • [2024-10-03 15:36:04]
  • 评测
  • 测评结果:WA
  • 用时:14ms
  • 内存:3864kb
  • [2024-10-03 15:36:04]
  • 提交

answer

#include <iostream>
#include <vector> 
#include <map>
using namespace std ; 
int solve(vector<int> q  ){
    int final_ans = 0; 
    int sum = 0 , sz = q.size(); 
    for(int i = 0 ; i < sz ; i ++){
      if(q[i] == -1) sum ++ ;  
    }
    int s[sz + 1] ; 
    for(int i = 0 ; i < sz ; i ++ ){
        if(i == 0) s[0] = q[0] ; 
        else s[i] = s[i - 1] + q[i] ;   
    }
    int minn[sz + 1] ; 
    for(int i = 0 ; i < sz ; i ++ ){
        if(i == 0 ) minn[i] = 0 ; 
        else minn[i] = min(minn[i-1] , s[i]) ; 
        // cout << minn[i] << ' ' <<
        
        final_ans = max(final_ans , sum + s[i] - minn[i]) ;        
    }
    
    return final_ans ; 
}
int main(){
    map<int , vector<int> > q ; 
    int n , k ; cin >> n >> k ;
    vector <int> a(n) ; 
    for(int i = 0 ; i < n ; i ++ ){
        cin >> a[i] ; 
        q[a[i]].push_back(-1) ; 
        q[a[i] + k].push_back(1) ; 
        // 1 是正主 ,  2 还要转化  
    }
    int ans = 0 ;  
    for(int i = -2e6 ; i <= 2e6 ; i ++ ){
        // if(q[i].size()) cout << q[i].size() << endl; 
       if(q.count(i)== false) continue ;  
       ans = max(solve(q[i]) , ans) ; 
    }
    cout << ans << endl ; 

    return 0 ; 
}

详细

Test #1:

score: 100
Accepted
time: 9ms
memory: 3592kb

input:

5 2
2 2 4 4 4

output:

5

result:

ok 1 number(s): "5"

Test #2:

score: 0
Accepted
time: 9ms
memory: 3620kb

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: 3628kb

input:

7 1
2 3 2 3 2 3 3

output:

5

result:

ok 1 number(s): "5"

Test #4:

score: 0
Accepted
time: 13ms
memory: 3624kb

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: 9ms
memory: 3632kb

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: 0
Accepted
time: 14ms
memory: 3864kb

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:

40

result:

ok 1 number(s): "40"

Test #7:

score: -100
Wrong Answer
time: 12ms
memory: 3668kb

input:

200 0
451272 -1000000 677452 677452 0 18908 451272 677452 -233144 677452 451272 18908 -1000000 18908 -1000000 0 451272 0 -233144 677452 1000000 451272 1000000 18908 -1000000 0 -233144 451272 1000000 18908 677452 0 677452 0 677452 1000000 -233144 18908 451272 -1000000 -233144 18908 1000000 0 0 -23314...

output:

36

result:

wrong answer 1st numbers differ - expected: '35', found: '36'