Cod sursa(job #1591265)

Utilizator razvandRazvan Dumitru razvand Data 5 februarie 2016 22:46:47
Problema Numarare triunghiuri Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.86 kb
#include <iostream>
#include <fstream>
#include <algorithm>

using namespace std;

ifstream in("cautbin.in");
ofstream out("cautbin.out");

long v[100003];

int main() {

    int n,k,t,a;
    in >> n;

    for(int i = 0; i < n; i++)
        in >> v[i];
    in >> k;

    for(int i = 0; i < k; i++) {

        in >> t >> a;

        if(t == 0) {

            int lw = upper_bound(v, v+n, a) - v - 1;

            if((lw < 0 || lw > n) || v[lw] != a) {

                out << "-1" << '\n';

            } else {

                out << lw+1 << '\n';

            }

        } else if(t == 1) {

            int lw = lower_bound(v, v+n, a+1) - v - 1;

            out << lw+1 << '\n';

        } else {

            int lw = upper_bound(v, v+n, a-1) - v;

            out << lw+1 << '\n';

        }

    }

    return 0;
}