T3 求助
  • 板块学术版
  • 楼主LYZHZ
  • 当前回复0
  • 已保存回复0
  • 发布时间2023/8/26 22:28
  • 上次更新2023/11/3 00:59:50
查看原帖
T3 求助
716579
LYZHZ楼主2023/8/26 22:28

第四个大样例过不去?

#include<bits/stdc++.h>
using namespace std;
int n,m,q,k,op,x;
int a[500100],b[500100];
int aa[500010],bb[500010];
int aaa[500010],bbb[500010];
int main()
{	
//	freopen("paint4.in","r",stdin);
//	freopen("text.out","w",stdout);
	cin>>n>>m>>q>>k;
	while(q--)
	{
		scanf("%d %d",&op,&x);
		if(op==1) a[x]++;
		else b[x]++;		
		if(a[x]>=k) a[x]=0;
		if(b[x]>=k) b[x]=0;
	}
	for(int i=1;i<=200000;i++)
	{
		if(a[i]!=0) aa[++aa[0]]=i,aaa[a[i]]++;
		if(b[i]!=0) bb[++bb[0]]=i;
	} 
//	cout<<n<<" "<<m<<endl;
//	cout<<aa[0]<<' '<<bb[0]<<endl;
//	125174 158371
//71915 77454
//0-1665497278
	long long sum;
//	sum=158371*71915;
//	cout<<sum<<endl;
	sum=(long long)aa[0]*m;
	sum=(long long)sum+bb[0]*n;
	cout<<sum<<endl;
	sum=(long long)sum-aa[0]*bb[0];
	for(int i=1;i<=bb[0];i++)
	{
		sum=sum-aaa[k-b[bb[i]]];
	}
	cout<<sum;
 	return 0;
}

2023/8/26 22:28
加载中...