问题标题: 大家快进来看呀!

0
0
已解决
e的x次幂
e的x次幂
高级守护
高级守护

1368

题意简化版:

给定长度为 N 的子序列 A,维护两个不相交的子序列 a, b,使得 max{a} - min{a}, max{b} - min{b} 均 <= k

求出 max{|a| + |b|}

 

my 30pts WA code:

#include <iostream>
#include <cstdio>
#include <algorithm>
using namespace std;

const int N = 1e6 + 1;

int n, k, d[N], a[N], cnt;

int main() {
    scanf("%d%d", &n, &k);
    for(int i = 1; i <= n; i ++)
        scanf("%d", &d[i]);
    sort(d+1, d+1+n);
    for(int i = 1, last_min = -1e9-1; i <= n; i ++) {
        if(d[i] - last_min <= k)
            a[cnt] ++;
        else {
            last_min = d[i];
            a[++ cnt] = 1;
        }
    }
    sort(a+1, a+1+cnt, greater<int>());
    printf("%d", a[1] + a[2]);
    return 0;
}

 

e的x次幂在2021-11-11 20:10:31追加了内容

d

e的x次幂在2021-11-12 18:42:32追加了内容

@侯平仄

e的x次幂在2021-11-13 10:00:19追加了内容

d


0
0
我要回答