NBUT 1557 Team of Slime

来源:互联网 发布:用php写一个登录页面 编辑:程序博客网 时间:2024/04/29 08:09

2014年NBUT校赛F题

记录不同大小史莱姆的位置 从大到小找到第一个错位的史莱姆(即小的在大的后面)

因为每一次操作都会移到最左边 所以之后每一个史莱姆都将移动一次

#include<bits/stdc++.h>using namespace std;struct slime{    int h;    int num;}s[300020];bool cmp(slime a,slime b){    return a.h<b.h;}int a[300020];int main(){    int N;    while(scanf("%d",&N)==1)    {        for(int i=1;i<=N;i++)        {            scanf("%d",&s[i].h);            s[i].num=i;        }        sort(s+1,s+N+1,cmp);        for(int i=1;i<=N;i++)            a[i]=s[i].num;        for(int i=N-1;i>=0;i--)        {            if(a[i]>a[i+1]||i==0)            {                printf("%d\n",i);                break;            }        }    }    return 0;}


0 0