题意:
小A有 n 个整数数列 a1,a2,…an ,每个数列的长度为li。
请你找出两个编号不同的数列,并从这两个数列中各恰好删除一个数,使得这两个数列的和相等
AC代码(参考了大佬的博客):
#include <iostream>
#include <cstring>
#include <cstdio>
#include <map>
#include <algorithm>
using namespace std;
const int maxn=2e5+10;
int a[maxn];
typedef pair<int,int>P;
int main(){
int t,n,sum=0,flag=0;
cin>>t;
map<int,P>m;
m.clear();
for(int i=0;i<t;i++){
cin>>n;
sum=0;
for(int j=0;j<n;j++)
{
cin>>a[j];
sum+=a[j];
}
for(int j=0;j<n;j++){
int k=sum-a[j];
if(m.count(k)&&!flag&&m[k].first!=i+1){
cout<<"YES"<<endl;
cout<<i+1<<" "<<j+1<<endl;
cout<<m[k].first<<" "<<m[k].second<<endl;
flag=1;
}
P p;
p.first=i+1;
p.second=j+1;
m[k]=p;
}
}
if(!flag)cout<<"NO"<<endl;
}