Submission #885736

#TimeUsernameProblemLanguageResultExecution timeMemory
885736NinedesuPilot (NOI19_pilot)C++14
78 / 100
1059 ms3616 KiB
#include<bits/stdc++.h>
#define ll long long
#define pii pair<int,int>
using namespace std;

const int N=1e6+1;
int n,q;
int arr[N];
bool chk=true;
pii qst[N];

int main(){
    ios_base::sync_with_stdio(0),cin.tie(0);
    cin >> n >> q;
    for(int i=1; i<=n; i++){
        cin >> arr[i];
        if(arr[i]<arr[i-1])chk=false;
    }
    if(chk==true){
        while(q--){
            int h;
            cin >> h;
            int idx=upper_bound(arr+1,arr+n+1,h)-arr-1;
            cout << ((ll)idx*(idx+1))/2 << '\n';
        }
    }
    else{
        while(q--){
            int h;
            ll ans=0,cnt=0;
            cin >> h;
            for(int i=1; i<=n; i++){
                if(arr[i]<h+1)cnt++;
                if(arr[i]>=h+1||i==n){
                    ans+=(cnt*(cnt+1))/2;
                cnt=0;
                }
            }
            cout << ans << '\n';
        }
    }

    return 0;
}
#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...