警示后人
查看原帖
警示后人
1200401
wnqnld_llx楼主2024/10/1 21:07

十年OI一场空,不开LONG LONG见祖宗

这是没开LONG LONG 的代码(85分)

#include<bits/stdc++.h>
using namespace std;
const int maxn=1e5+10;
int n,d,v[maxn],a[maxn],ans,can,have;
signed main(){
	cin>>n>>d;
	for(int i=1;i<=n-1;i++) cin>>v[i];
	for(int i=1;i<=n;i++) cin>>a[i];
	priority_queue <int,vector<int>,greater<int> > q;
	for(int i=1;i<=n-1;i++){
		q.push(a[i]);
		while(can<v[i]){
			can+=d;
			ans+=q.top();
		}
		can-=v[i];
	}
	cout<<ans;
	return 0;
} 
这是开了LONG LONG后
#include<bits/stdc++.h>
using namespace std;
#define int long long
const int maxn=1e5+10;
int n,d,v[maxn],a[maxn],ans,can,have;
signed main(){
	cin>>n>>d;
	for(int i=1;i<=n-1;i++) cin>>v[i];
	for(int i=1;i<=n;i++) cin>>a[i];
	priority_queue <int,vector<int>,greater<int> > q;
	for(int i=1;i<=n-1;i++){
		q.push(a[i]);
		while(can<v[i]){
			can+=d;
			ans+=q.top();
		}
		can-=v[i];
	}
	cout<<ans;
	return 0;
}
2024/10/1 21:07
加载中...