Submission #639795

#TimeUsernameProblemLanguageResultExecution timeMemory
639795a_aguiloGlobal Warming (CEOI18_glo)C++14
0 / 100
83 ms1836 KiB
#include<bits/stdc++.h>

using namespace std;

int n, x;

void print(int v[]){
    for(int i = 0; i < n; ++i) cout << " " << v[i];
    cout << endl;
}

int binarySearch(int x, int arr[]){
    int lo = 0, hi = n;
    int ans = 0;
    while(hi >= lo){
        int mid = lo + (hi-lo)/2;
        if(arr[mid] <= x) {
            lo = mid+1;
            ans = mid;
        }
        else{
            hi = mid-1;
        }
    }
    return lo;
}

int main(){
    cin >> n >> x;
    int V[n];
    int endWithLength[n];
    for(int i = 0; i < n; ++i) cin >> V[i];
    memset(endWithLength, 1e9+1, sizeof(endWithLength));
    endWithLength[0] = V[0];
    int ans = 0;
    for(int i = 1; i < n; ++i){
        int pos = binarySearch((long long)V[i], endWithLength);
        //cout << "i " << i << " || value " << V[i] << " || pos1 " << pos;
        endWithLength[pos] = V[i];
        ans = max(ans, pos);
        //print(endWithLength);
    }
    cout << ans+1 << endl;
    return 0;
}

Compilation message (stderr)

glo.cpp: In function 'int binarySearch(int, int*)':
glo.cpp:14:9: warning: variable 'ans' set but not used [-Wunused-but-set-variable]
   14 |     int ans = 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...