Submission #503480

#TimeUsernameProblemLanguageResultExecution timeMemory
503480jparkPilot (NOI19_pilot)C++14
55 / 100
1079 ms9900 KiB
#include<iostream>
#include<vector>
#define ll long long
using namespace std;

int main(){
    int n,q;
    cin >> n >> q;
    int h[n];
    ll hp[(ll)1e6+10];
    for(int x = 0; x<n; x++) cin>>h[x];
    for(int x=0; x<1e6+10; x++) hp[x] = -1;
    int y;
    for(int x=0; x<q; x++){
        cin >> y;
        if(hp[y]!=-1){cout << hp[y] << '\n';}
        else{
            vector<ll> ranges;
            int cur = 0;
            for(int i=0; i<n; i++){
                if(h[i]<=y){
                    ++cur;
                }
                else{
                    if(cur>0){
                        ranges.push_back(cur);
                        cur = 0;
                    }
                }
            }
            if(cur>0){
                ranges.push_back(cur);
            }
            ll total = 0;
            for(int i=0; i<ranges.size(); i++){
                ll r = ranges[i];
                r = r*(r+1)/2;
                total += r;
            }
            cout << total << '\n';
            hp[y] = total;
        }
    }
}

Compilation message (stderr)

pilot.cpp: In function 'int main()':
pilot.cpp:35:27: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   35 |             for(int i=0; i<ranges.size(); i++){
      |                          ~^~~~~~~~~~~~~~
#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...