为什么我的sort没有用
  • 板块灌水区
  • 楼主Asad
  • 当前回复7
  • 已保存回复7
  • 发布时间2023/7/7 14:13
  • 上次更新2023/11/3 11:12:27
查看原帖
为什么我的sort没有用
286400
Asad楼主2023/7/7 14:13
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int M=1e5+5;
int n;
struct node{
	int id;
	ll d;
}a[M];
bool cmp(node a,node b){
	return a.d<b.d;
}
int main(){
	scanf("%d",&n);
	for(int i=1; i<=n; i++){
		scanf("%d",&a[i].d);
		a[i].d+=a[i-1].d;
		a[i].id=i;
	}
	for(int i=1; i<=n; i++) printf("%d\n",a[i].d);
	sort(a+1,a+1+n,cmp);
	for(int i=1; i<=n; i++) printf("%d\n",a[i].d);
	ll minn=a[2].d-a[1].d;
	int maxx=abs(a[2].id-a[1].id);
	for(int i=2; i<n; i++){
		if(a[i+1].d-a[i].d<minn){
			minn=a[i+1].d-a[i].d;
			maxx=abs(a[i+1].id-a[i].id)+1;
		}
		if(a[i+1].d-a[i].d==minn){
			maxx=max(maxx,abs(a[i+1].id-a[i].id)+1);
		}
	}
	printf("%lld\n%d",minn,maxx);
	return 0;
}
2023/7/7 14:13
加载中...