P1020 WA+TLE
  • 板块学术版
  • 楼主uFTvL9
  • 当前回复0
  • 已保存回复0
  • 发布时间2021/9/12 12:12
  • 上次更新2023/11/4 06:59:46
查看原帖
P1020 WA+TLE
411963
uFTvL9楼主2021/9/12 12:12

在解决该题目时出现未知原因的错误导致程序炸了,求助大佬。在线等————

#include<bits/stdc++.h>
#define MaxN 100000
#define MIC  Maximum_Intercept_Count
#define MKC  Maximum_Killer_Count
using namespace std;
inline int  DP_LIS_I(int ans, int Missile[], int input);
inline int  DP_LIS_K(int ans, int Missile[], int input);
inline void work  (void);
int main() {
	work();
	return 0;
}
inline void work(void) {
	int Missile_Height[MaxN];
	int input = 0;
	/*if(cin >> input) {
		for(int i = 0; i < input ; i++)
    		cin >> Missile_Height[i];
	}*/
	while(scanf("%d", &Missile_Height[input]) != EOF)
		++input;
	int MIC = DP_LIS_I(0, Missile_Height, input);
	int MKC = DP_LIS_K(0, Missile_Height, input);
	cout << MIC << " " << MKC;
	return;
}
inline int DP_LIS_I(int ans, int Missile[], int input) {
	int DP[input];
	for(int i = 0; i < input; i++)
		DP[i] = 1;
    for(int i = 0; i < input; i++) { 
    	for(int j = 0; j < i; j++)
    		if(Missile[j] >= Missile[i])				
    			DP[i] = max(DP[j] + 1, DP[i]);	
    	ans = max(ans, DP[i]); 				
    } 
   	return ans;	
}
inline int DP_LIS_K(int ans, int Missile[], int input) {
	int DP[input];
	for(int i = 0; i < input; i++)
		DP[i] = 1;
    for(int i = 0; i < input; i++) { 
    	for(int j = 0; j < i; j++)
    		if(Missile[j] > Missile[i])				
    			DP[i] = max(DP[j] + 1, DP[i]);	
    	ans = max(ans, DP[i]); 				
    } 
   	return ans;	
}
2021/9/12 12:12
加载中...