TLE求diao
查看原帖
TLE求diao
1043209
lmayyds楼主2024/3/14 19:20
#include<bits/stdc++.h>
using namespace std;
#define N 405
int n,m,a[N],v,c1,c2,c3,c4,maxn=-1,ans=0,maxe,dp[N];
int main(){
	cin>>n>>m;
	for(int i=1;i<=m;++i){
		cin>>v;
		switch(v){
			case(1):{
				c1++;
				break;
			}
			case(2):{
				c2++;
				break;
			}
			case(3):{
				c3++;
				break;
			}
			case(4):{
				c4++;
				break;
			}
		}
	}
	for(int i=1;i<=n;++i){
		cin>>a[i];
	}
	for(int i=1;i<=n;){
		maxn=-1;
		for(int j=1;j<=4;++j){
			if(a[i]>maxn){
				maxn=a[i];
				maxe=j;
			}
			switch(maxe){
				case(1):{
					if(c1){
						c1-=1;
						i+=maxe;
						ans+=a[i];
					}
					break;
				}
				case(2):{
					if(c2){
						c2-=1;
						i+=maxe;
						ans+=a[i];
					}
					break;
				}
				case(3):{
					if(c3){
						c3-=1;
						i+=maxe;
						ans+=a[i];
					}
					break;
				}
				case(4):{
					if(c4){
						c4-=1;
						i+=maxe;
						ans+=a[i];
					}
					break;
				}
			}
		}
	}
	cout<<ans;
	return 0;
} 
2024/3/14 19:20
加载中...