首页 > 其他 > 详细

Educational Codeforces Round 91 (Rated for Div. 2) A. Three Indices (模拟)

时间:2020-07-16 16:12:49      阅读:45      评论:0      收藏:0      [点我收藏+]

技术分享图片

  • 题意:有一长度为\(n\)的序列,问是否能找到\(a_{i}<a_{j},a_{j}>a_{k},(i<j<k)\),如果满足,输出其位置.

  • 题解:直接暴力两头找即可,最坏复杂度:\(O(n^2)\).

  • 代码:

    int t;
    int n;
    int a[N];
     
    int main() {
        ios::sync_with_stdio(false);cin.tie(0);
      	cin>>t;
      	 while(t--){
      	 	cin>>n;
      	 	 for(int i=1;i<=n;++i) cin>>a[i];
     
      	 	 bool ok=0;
      	 	 for(int j=1;j<=n;++j){
      	 	 	int pos1=-1;
      	 	 	int pos2=-1;
      	 	 	for(int i=1;i<j;++i){
      	 	 		if(a[i]<a[j]){
      	 	 			pos1=i;
      	 	 			break;
      	 	 		}
      	 	 	}
      	 	 	if(pos1==-1) continue;
      	 	 	for(int k=j+1;k<=n;++k){
      	 	 		if(a[k]<a[j]){
      	 	 			pos2=k;
      	 	 			break;
      	 	 		}
      	 	 	}
      	 	 	if(pos1!=pos2 && pos1!=-1 && pos2!=-1){
      	 	 		ok=1;
      	 	 		cout<<"YES"<<endl;
      	 	 		cout<<pos1<<" "<<j<<" "<<pos2<<endl;
      	 	 		break;  
      	 	 	}
      	 	 }
      	 	 if(!ok) cout<<"NO"<<endl;
      	 }
    
        return 0;
    }
    

Educational Codeforces Round 91 (Rated for Div. 2) A. Three Indices (模拟)

原文:https://www.cnblogs.com/lr599909928/p/13322044.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!