Submission #1187100

#TimeUsernameProblemLanguageResultExecution timeMemory
1187100aladdin1Pilot (NOI19_pilot)C++20
78 / 100
1096 ms2108 KiB
#include <bits/stdc++.h>
#define int long long
#define ll long long
//using ll=long long;
#define ld long double
#define inf 1000000000
#define all(v) v.begin(),v.end()
using namespace std;
const int N=1e6+5;
const int MAX = 1e7+9;
const int MOD = 1e9 + 7;
const int mod=9929;
/*
-----------------------------------------------------------------------------------
   BBBBBBBBBB   LLL        BBBBBBBBBB  DDDDDDDD     DDDDDDD     III   N      N     |
   BB      BB   LLL        BB      BB  DD     DD    DD     DD   III   NN     N     |
   BB      BB   LLL        BB      BB  DD     DD    DD     DD   III   N N    N     |
   BBBBBBBBBB   LLL        BBBBBBBBBB  DD     DD    DD     DD   III   N  N   N     |
   BB      BB   LLL        BB      BB  DD     DD    DD     DD   III   N   N  N     |
   BB      BB   LLL        BB      BB  DD     DD    DD     DD   III   N    N N     |
   BB      BB   LLL        BB      BB  DD     DD    DD     DD   III   N     NN     |
   BB      BB   LLLLLLLLL  BB      BB  DDDDDDDD     DDDDDDD     III   N      N     |
                                                                                   |
-----------------------------------------------------------------------------------
*/
void solve(){
    int n,q;cin>>n>>q;
    vector<int>v(n);
    for(int i=0;i<n;i++)cin>>v[i];
    bool b=is_sorted(all(v));
    while(q--){
    int mx=0,k=0,cnt=0;
    int x;cin>>x;
    if(b){
        int f=upper_bound(all(v),x)-v.begin();
        cout<<f*(f+1)/2<<"\n";
    }
    else{
    for(int i=0;i<n;i++){
        mx=max(mx,v[i]);
        if(mx<=x)k++;
        else{
            mx=0;
            cnt+=k*(k+1)/2;
            k=0;
        }
    }
    cnt+=k*(k+1)/2;
    cout<<cnt<<"\n";
    }
    }
}
signed main(){
    int t=1;//cin>>t;
    while(t--){
    solve();
    }
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...