比赛 2024暑假C班集训C 评测结果 AAATTTTTTT
题目名称 灯笼 最终得分 30
用户昵称 小金 运行时间 14.910 s
代码语言 C++ 内存使用 4.44 MiB
提交时间 2024-07-12 11:30:51
显示代码纯文本
#include<iostream>
#include<cstdio>
using namespace std;
int n,m,b[100010];
long long ans,x,s[100010],a[100010];
int main()
{
    freopen("lantern.in","r",stdin);
    freopen("lantern.out","w",stdout);
    scanf("%d%d%lld",&n,&m,&x);
    for(int i=1;i<=n;i++)
    {
        scanf("%lld",&a[i]);
        s[i]=s[i-1]+a[i];
    }
    for(int i=1;i<n;i++)
    {
        for(int j=i+1;j<=n;j++)
        {
            if(s[j]-s[i-1]>=x)
            {
                int p=0;
                for(int k=i;k<=j;k++)
                {
                    if(b[a[k]]==0)
                    {
                        b[a[k]]=1;
                        p++;
                    }
                }
                if(p<=m) ans++;
                for(int k=i;k<=j;k++)
                {
                    b[a[k]]=0;
                }
            }
        }
    }
    ans=ans*2;
    for(int i=1;i<=n;i++)
    {
        if(a[i]>=x) ans++;
    }
    printf("%lld",ans);
    return 0;
}