【SSLGZ 2783】2017年10月23日提高组T1 摆书

来源:互联网 发布:无锡移动网络办理 编辑:程序博客网 时间:2024/05/16 02:07

问题描述
这里写图片描述
输入
这里写图片描述
输出
这里写图片描述
样例输入
2
4
4 1 2 3
5
1 2 3 4 5
样例输出
3
0
算法讨论
我们从尾找到头,依次寻找n,n-1,n-2……找到的那些显然都不会再动了,所以我们只用动其他剩下的书即可。考试的时候硬是想复杂了←_←。

#include <cstdio>using namespace std;#define maxn 100006int a[maxn];int n,t,ans;int main(){    scanf("%d",&t);    for (int k=1;k<=t;k++)    {        scanf("%d",&n);        ans=0;        int p=n;        for (int i=1;i<=n;i++)            scanf("%d",&a[i]);        for (int i=n;i>=1;i--)            if (a[i]==p)            {                ans++;                p--;            }        printf("%d\n",n-ans);    }}

这里写图片描述
Pixiv ID:63176515