0828-T1 移除数

0828-T1 移除数

题意

给出一个序列 a,求在 a 中删除一种数后得到的序列中,字典序最小的序列。

思路

贪心。

选择第一个 i 满足 ai>ai+1,删除 ai 后,得到的序列字典序最小。

aiai+1,删除 ai 后字典序不会变小。

ai>ai+1i 不是第一个,删除 ai 后得到的序列字典序一定没有删除第一个小。

若序列递增删除最后一项即可。

代码

#include <bits/stdc++.h>
using namespace std;
const int N = 200005;
int n, a[N], num;
int main() {
	cin >> n;
	for (int i = 1; i <= n; i ++) cin >> a[i];
	for (int i = 1; i <= n; i ++) 
		if (a[i] > a[i + 1]) {
			num = a[i];
			break;	
		}
	for (int i = 1; i <= n; i ++) {
		if (a[i] == num) continue;
		cout << a[i] << " ";
	} 
	return 0;
}
posted @   maniubi  阅读(6)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】
点击右上角即可分享
微信分享提示