萌新求助 #3 RE
查看原帖
萌新求助 #3 RE
91956
Dreamweaver楼主2021/2/12 21:10


#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int n,a[1000010],ans[1000010][2],b[1000010],ma[1000010],mb[1000010];
int main()
{
//		freopen("a.in","r",stdin);
//	freopen("a.out","w",stdout);
	cin>>n;
	for(int i=1;i<=n;i++)
		scanf("%d",&a[i]),ma[i]=ma[i-1]+a[i];
	for(int i=1;i<=n;i++)
		scanf("%d",&b[i]),mb[i]=mb[i-1]+b[i];
//	cout<<endl;
	memset (ans,-1,sizeof(ans));
	for(int i=0;i<=n;i++)
	{
		int j=0;
		while(mb[j]<=ma[i]&&j<=n) j++;
		j--;
	//	cout<<i<<' '<<j<<endl;
		int o=ma[i]-mb[j];
	//	cout<<o<<endl;
		if(ans[o][1]==-1&&ans[o][2]==-1)
		{
			ans[o][1]=i;
			ans[o][2]=j;
		}
		else
		{
			int i1,j1;
			i1=ans[o][1];
			j1=ans[o][2];
	//		cout<<i1+1<<' '<<i<<endl;
	//		cout<<j1+1<<' '<<j<<endl;
	//		cout<<endl;
			cout<<i-i1<<endl;
			i1++;
			while(i1<=i)
				cout<<i1<<' ',i1++;
			cout<<endl;
			cout<<j-j1<<endl;
			j1++;
			while(j1<=j)
				cout<<j1<<' ',j1++;
			cout<<endl;
			return 0;
		}
	}
    return 0;
}

2021/2/12 21:10
加载中...