日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

ZOJ4024 Peak

發(fā)布時間:2023/12/13 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ZOJ4024 Peak 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

?

?題意 給出一個數(shù)組 判斷這個數(shù)組是否形成了一個“山峰” 即中間有個數(shù)最大 從第一個數(shù)到這個數(shù)遞增 從這個數(shù)到最后一個數(shù)遞減

模擬 從兩端分別以遞增和遞減判斷 看第一個不滿足遞增或遞減的數(shù)是否相等并且沒越界就可以了

AC代碼:

1 #include<bits/stdc++.h> 2 using namespace std; 3 typedef long long ll; 4 typedef unsigned long long ull; 5 6 namespace io { 7 const int SIZE = 1e7 + 10; 8 char inbuff[SIZE]; 9 char *l, *r; 10 inline void init() { 11 l = inbuff; 12 r = inbuff + fread(inbuff, 1, SIZE, stdin); 13 } 14 inline char gc() { 15 if (l == r) init(); 16 return (l != r) ? *(l++) : EOF; 17 } 18 void read(int &x) { 19 x = 0; char ch = gc(); 20 while(!isdigit(ch)) ch = gc(); 21 while(isdigit(ch)) x = x * 10 + ch - '0', ch = gc(); 22 } 23 } using io::read; 24 25 int main(){ 26 int t; 27 scanf("%d", &t); 28 int n; 29 int a[100005]; 30 while (t--){ 31 memset(a, 0, sizeof(a)); 32 scanf("%d", &n); 33 for (int i = 1; i <= n; i++) scanf("%d", &a[i]); 34 int l = 1, r = n; 35 while (l < n && a[l] < a[l + 1]) l++; 36 while (r > 1 && a[r] < a[r - 1]) r--; 37 if (l == r && l != 1 && l != n) cout<<"Yes"<<endl; 38 else cout<<"No"<<endl; 39 } 40 return 0; 41 }

?

轉(zhuǎn)載于:https://www.cnblogs.com/Misuchii/p/10969647.html

總結(jié)

以上是生活随笔為你收集整理的ZOJ4024 Peak的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。