Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<iostream>
- #include<cmath>
- #include<iomanip>
- #include<algorithm>
- #include<cstdlib>
- #include<cstring>
- #include<vector>
- #include<utility>
- #define ll long long
- #define nl '\n'
- #define sz(x) int(x.size())
- #define all(x) x.begin(),x.end()
- #define rall(s) s.rbegin(), s.rend()
- #define ceill(n, m) (((n) / (m)) + ((n) % (m) ? 1 : 0))
- using namespace std;
- ll x =1;
- void solve(){
- ll n; cin>>n;
- vector<ll>v(n);
- ll counter=0;
- ll mini = -__LONG_LONG_MAX__;
- for(ll i=0; i<n; i++){
- cin>>v[i];
- }
- ll i =0,j=n-1;
- while(i<=j){
- if(v[i] >= mini and v[i] <= v[j]){
- mini = v[i];
- i++;
- counter++;
- }else if(v[j] >= mini and v[j] < v[i]){
- mini = v[j];
- j--;
- counter++;
- }else if(v[i] >= mini and v[i] > v[j]){
- mini = v[i];
- i++;
- counter++;
- break;
- }else if(v[j] >= mini and v[j] > v[i]){
- mini = v[j];
- j--;
- counter++;
- break;
- }else break;
- }
- cout<<"Case #"<<x++<<": "<<counter<<nl;
- }
- int main(){
- int t =1;
- cin>>t;
- while(t--){
- solve();
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment