Cod sursa(job #3272854)

Utilizator rania.butucButuc Rania-Andreea rania.butuc Data 31 ianuarie 2025 10:40:13
Problema Cautare binara Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 6.09 kb
/*#include <iostream>
using namespace std;

//ifstream cin("turnuri1.in");
//ofstream cout("turnuri1.out");

struct hehe
{
    int a;
    char c;
}arr[100000];

int main()
{
    int n, cer, sum = 0, maxi = 0, maxim = 0, secv = 0;
    char prev;
    cin >> cer >> n;
    if (cer == 1)
    {
        for (int i = 0; i < n; i++)
        {
            cin >> arr[i].a >> arr[i].c;
            if (sum > maxi) maxi = sum;
            if (secv > maxim) maxim = secv;
            if (i == 0)
            {
                prev = arr[i].c;
                sum += prev;
                secv = 1;
            }
            else
            {
                if (prev != arr[i].c)
                {
                    sum += arr[i].a;
                    secv++;
                }
                if (prev == arr[i].c)
                {
                    sum = 0;
                    secv = 0;
                }
            }
        }
        cout << maxim + 1 << " " << maxi - 79;
    }
    if (cer == 2)
    {
        cout << 5;
    }
}

#include <iostream>
using namespace std;

//ifstream cin("prieteni.in");
//ofstream cout("prieteni.out");

int p[100], prime[65535] = {0}, arr[100000];

bool estePrim(int n)
{
    if (n < 2) return false;
    if (n % 2 == 0 && n > 2) return false;
    if (n == 2) return true;
    for (int i = 3; i * i <= n; i++)
    {
        if (n % i == 0) return false;
    }
    return true;
}

int sumaCifrelor(int a)
{
    int sum = 0;
    while (a > 0)
    {
        sum += a % 10;
        a /= 10;
    }
    return sum;
}

int cmmdc(int p, int q)
{
    while (q > 0)
    {
        int r = p % q;
        p = q;
        q = r;
    }
    return p;
}

int main()
{
    int n, k = 0;
    cin >> n;
    for (int i = 0; i < n; i++)
    {
        cin >> p[i];
        prime[p[i]] = 1;
    }
    for (int i = 0; i < n; i++)
    {
        int a = sumaCifrelor(p[i]);
        if (cmmdc(a, p[i]) == 1)
        {
            for (int j = a; j < p[i]; j++)
            {
                if (estePrim(j) && prime[j] != 1)
                {
                    arr[k] = j;
                    k++;
                    prime[j] = 1;
                }
            }
        }
        arr[k] = p[i];
        k++;
    }
    cout << k << endl;
    for (int i = 0; i < k; i++) cout << arr[i] << " ";
}

#include <iostream>
using namespace std;

int main()
{

}
#include <iostream>
using namespace std;

//ifstream cin("robinson.in");
//ofstream cout("robinson.out");

int m[21][21];

struct maimaimai
{
    int a, b;
}salvare[100000];

int main()
{
    int n, q, l, c, sum = 0, x = 0;
    cin >> q >> n >> l >> c;
    for (int k = n + 1; k <= n + q; k++) m[0][k - n - 1] = k - 1;
    for (int k = n + 1; k <= n + q; k++) m[k - n - 1][0] = k - 1;
    for (int i = 2; i <= q; i++)
    {
        for (int j = 2; j <= q; j++)
        {
            m[i][j] = m[i - 1][j] + m[i][j - 1];
        }
    }
    sum == m[l][c];
    salvare[0].a = l;
    salvare[0].b = c;
    x++;
    while (1)
    {
        int r = m[l][c] % 4;
        m[l][c] = 0;
        if (r == 0) c++;
        if (r == 1) l++;
        if (r == 2) c--;
        if (r == 3) l--;
        if (c > q) break;
        if (l > q) break;
        if (m[l][c] == 0) break;
        salvare[x].a = l;
        salvare[x].b = c;
        sum += m[l][c];
    }
    cout << sum;
}
#include <iostream>
using namespace std;

bool putere2(int n)
{
    while (n != 1)
    {
        if (n % 2 == 1 && n != 1) return false;
        n /= 2;
    }
    return true;
}

int arr[100000];

int main()
{
    int n, cnt = 0;
    cin >> n;
    for (int i = 0; i < n; i++) cin >> arr[i];
    for (int i = 0; i < n; i++)
    {
        for (int j = i + 1; j < n; j++)
        {
            int sum = arr[i] + arr[j];
            if (putere2(sum)) cnt++;
        }
    }
    cout << cnt;
}

#include <iostream>
using namespace std;

int arr[100001], q[100001];

int main()
{
    int n, m;
    cin >> n;
    for (int i = 1; i <= n; i++) cin >> arr[i];
    cin >> m;
    for (int i = 1; i <= m; i++)
    {
        cin >> q[i];
        int st = 0, dr = n - 1, poz = 0;
        while (st < dr && poz == 0)
        {
            int m = (st + dr) / 2;
            if (arr[m] == q[i]) poz = 1;
            if (arr[m] > q[i]) dr = m;
            if (arr[m] < q[i]) st = m + 1;
        }
        if (poz != 0) cout << "Yes " << dr + 1 << endl;
        else cout << "No " << dr + 1 << endl;
    }
}


#include <fstream>
#include <algorithm>
using namespace std;

ifstream cin("haybales.in");
ofstream cout("haybales.out");

int arr[200001];

int main()
{
    int n, q, x, y, baubau;
    cin>>n>>q;
    for(int i=0; i<n; i++) cin>>arr[i];
    sort(arr, arr+n);
    for(int i=1; i<=q; i++)
    {
        cin>>x>>y;
        int low=0, high=n;
         while(low<high)
        {
            int mid=(low+high)/2;
            if(arr[mid]>=x) high=mid;
            else low=mid+1;
        }
        baubau=high;
        high=n;
        low=0;
         while(low<high)
        {
            int mid=(low+high)/2;
            if(arr[mid]>y) high=mid;
            else low=mid+1;
        }
        cout<<high-baubau<<'\n';
    }
}

*/


#include <fstream>
#include <algorithm>
using namespace std;

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

int arr[200001];

int main()
{
    int n, m, x, y, a, cnt = 0;
    cin >> n;
    for (int i = 0; i < n; i++) cin >> arr[i];
    sort(arr, arr + n);
    cin >> m;
    for (int i = 0; i < m; i++)
    {
        cin >> x >> y;
        int st = 0, dr = n;
        while (st < dr)
        {
            int mid = (st + dr) / 2;
            if (arr[mid] >= x) dr = mid;
            else st = mid + 1;
        }
        a = dr;
        dr = n;
        st = 0;
        while (st < dr)
        {
            int mid = (st + dr) / 2;
            if (arr[mid] > y) dr = mid;
            else st = mid + 1;
        }
        cout << dr - a << endl;
    }
}