五一训练礼包 M - 13
本题要求删除元素让剩下的元素形成类似金字塔的元素列:先递增到最大值后又递减(题目中的good元素列)。要求删除的前缀最短,即是余下的后缀最长,所以从后遍历,先递增再递减,遍历到最后一个元素其下标就是删除的元素数。
#学习路径#
#include<stdio.h> int main() { int t,i; scanf("%d",&t); while(t--) { int a[200002],n,x=0,ans=0; scanf("%d",&n); for(i=0;a[i]!=0;i++) { a[i]=0; } for(i=0;i<n;i++) { scanf("%d",&a[i]); } for(i=n-1;i>=0;i--) { if(a[i-1]<a[i]) x++; if((a[i-1]>a[i])&&x>0) { ans=i;break; } } printf("%d\n",ans); } return 0; }
#学习路径#