TLE求调
查看原帖
TLE求调
475556
Frantic_楼主2023/8/10 14:55
#include<bits/stdc++.h>
using namespace std;
int n,a[200010],b[20010];
int p[200010];
int main(){
	int t;
	scanf("%d",&t);
	while(t--){
		scanf("%d",&n);
		memset(p,0,sizeof(p));
		for(int i=1;i<=n;i++)scanf("%d",&a[i]);
		for(int i=1;i<=n;i++)scanf("%d",&b[i]);
		int st=1,ed=2;
		while(st<n){
			//cout<<"!!"<<st<<"  "<<ed<<endl;
			if(a[st]-a[ed]>=b[st]-b[ed])p[st]++;
			if(a[st]-a[ed]<=b[st]-b[ed])p[ed]++;
			ed++;
			if(ed>n){
				st++;
				ed=st+1;
			}
		}
		int sum=0;
		for(int i=1;i<=n;i++){
			//printf("!%d ",p[i]);
			if(p[i]==n-1)sum++;
		}
		printf("%d\n",sum);
		for(int i=1;i<=n;i++)
			if(p[i]==n-1)printf("%d ",i);
		printf("\n");
	}
	return 0;
}
2023/8/10 14:55
加载中...