比赛 2024暑假C班集训C 评测结果 WWWWWWWWWW
题目名称 灯笼 最终得分 0
用户昵称 AeeE5x 运行时间 0.973 s
代码语言 C++ 内存使用 4.96 MiB
提交时间 2024-07-12 09:45:16
显示代码纯文本
#include<bits/stdc++.h>
#define ll long long
using namespace std;
int n,m,X;
ll ans=0;
int like[100010],qz1[100010],qz2[100010];
map<int,bool> mp;
int main(){
	freopen("lantern.in","r",stdin);
	freopen("lantern.out","w",stdout);
	
	scanf("%d%d%d",&n,&m,&X);
	for(int i=1;i<=n;i++){
		scanf("%d",&like[i]);
		qz1[i]=qz1[i-1]+like[i];
		if(mp[like[i]]) qz2[i]=qz2[i-1];
		else qz2[i]=qz2[i-1]+1,mp[like[i]]=1;
	}
	//我草啊想不到正解 打个O(n^2)算了 
	for(int i=1;i<=n;i++){
		for(int j=i;j<=n;j++){
			if(qz2[j]-qz2[i-1]>=5) break;
			else if(qz1[j]-qz1[i-1]>=X) ans+=(i!=j?2:1);
		}
	}
	printf("%lld",ans);
	
	
	return 0;
}