样例也过不了,0分求调
查看原帖
样例也过不了,0分求调
935829
QiuOutlook楼主2024/10/18 19:42

与第二篇题解相似(仅数组 -> vector)

#include<bits/stdc++.h>
using namespace std;
int ta,tb,tc,td,a,h,e;
int n,m,r;
int timea,timeb;
vector<int> palls,salls;
int main(){
	cin>>n>>m;
	for(int i=1;i<=n;i++){
		int x;
		cin>>x;
		palls.push_back(x);
	}
	sort(begin(palls),end(palls));
	for(int i=1;i<=m;i++){
		int x;
		cin>>x;
		salls.push_back(x);
	}
	sort(begin(salls),end(salls));
	cin>>ta>>tb>>tc>>td>>a>>h>>e>>r;
	vector<vector<int> > ex(m+1,vector<int>(n+1,0));
	vector<vector<int> > oj(m+1,vector<int>(n+1,0));
	timeb=(ta*n+r*tc)*100/a+h;
	timea+=ta*n;
	while(r--){
		int p,s,sc;
		cin>>p>>s>>sc;
		p=lower_bound(begin(palls),end(palls),p)-begin(palls);
		s=lower_bound(begin(salls),end(salls),s)-begin(salls);
		if(e&&sc>ex[s][p]) ex[s][p]=sc,timea+=td;
		++oj[s][p];
	}
	for(int i=1;i<=m;i++){
		for(int j=1;j<=n;j++){
			int t1=0,t2=ta;
			t1+=tb*oj[i][j];
			t2+=tc*oj[i][j];
			timea+=min(t1,t2);
		}
	}
	cout<<timea<<endl<<timeb<<endl<<(timea>timeb?"Use Luogu!":"Forget it...");
	return 0;
}
2024/10/18 19:42
加载中...