I think:
给出k(4≤k≤5000)个互不相同的整数组成的序列Ni,判断是否存在4个整数Np、Nq、Nr和Ns(1≤p<q<r<s≤k),使得Nq>Ns>Np>Nr或者Nq<Ns<Np<Nr。
p q r s
6 8 5 7 -- Nq>Ns>Np>Nr
7 5 8 6 -- Nq<Ns<Np<Nr
#include <stdio.h> int main(void) { int n,t,i,numarr[10000],tem,j,k,flag; while(scanf("%d",&n)!=EOF) { while(n--) { flag=0; scanf("%d",&t); for(i=0; i<t; i++) { scanf("%d",&numarr[i]); } for(i=0; i<t; i++) { tem=numarr[i]; if(numarr[i+1]>tem) { for(j=i+2; j<t; j++) { if(numarr[j]<tem) { for(k=j+1; k<t; k++) { if(numarr[k]>tem&&numarr[k]<numarr[i+1]) flag=1; } } } } if(flag==1)break; } for(i=0; i<t; i++) { if(flag==1)break; tem=numarr[i]; if(numarr[i+1]<tem) { for(j=i+2; j<t; j++) { if(numarr[j]>tem) { for(k=j+1; k<t; k++) { if(numarr[k]<tem&&numarr[k]>numarr[i+1]) flag=1; } } } } } if(flag)printf("YES "); else printf("NO "); } } return 0; }