ABC379C求调
  • 板块学术版
  • 楼主liluhexuan
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/11/9 20:54
  • 上次更新2024/11/9 20:59:32
查看原帖
ABC379C求调
1110924
liluhexuan楼主2024/11/9 20:54

rt,哪错了?

#include<iostream>
#include<algorithm>
using namespace std;
#define int long long
const int N=2e5+10;
struct node{
	int x,a;
}a[N];
bool cmp(node a,node b){
	return a.x<b.x;
}
signed main(){
	int n,m,t=0,sum=0,ans=0;
	cin>>n>>m;
	for(int i=1;i<=m;i++) cin>>a[i].x;
	for(int i=1;i<=m;i++){
		cin>>a[i].a;
		ans+=a[i].a*(a[i].a-1)/2;
		sum+=a[i].a;
	}
	sort(a+1,a+m+1,cmp);
	if(a[1].x!=1||sum!=n){
		cout<<-1;
		return 0;
	}
	a[m+1].x=n+1,t=a[1].a;
	for(int i=2;i<=m+1;i++){
		if(a[i].x>t+1){
			cout<<-1;
			return 0;
		}
		t+=a[i].a;		
	}
	cout<<ans;
	return 0;
}
2024/11/9 20:54
加载中...