Cod sursa(job #3183786)

Utilizator Petru_77Panait Mihai-Petru Petru_77 Data 13 decembrie 2023 11:15:42
Problema Subsir crescator maximal Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.5 kb
#include <iostream>
#include <vector>
#include <algorithm>

using namespace std;

#define NMAX 10000

vector<int> v1, v2;

int main() {
    int x, n1 = 0;
    int cnt = 0, found = 0;

    // Citeste primul vector
    while (1) {
        cin >> x;

        if (x != 0)
        {
            v1.push_back(x);
        }
        else
        {
            break;
        }
    }
    while (1) {
        cnt += found;
        found = 0;

        cin >> x;

        if (x != 0)
        {
            v2.push_back(x);
        }
        else
        {
            break;
        }
    }
    sort(v1.begin(), v1.end());
    sort(v2.begin(), v2.end());
    int n = v1.size(), m = v2.size();
    int i = 0, j = 0;
    while(i < n && j < m)
    {
        if(v1[i] < v2[j])
        {
            i ++;
        }else if(v1[i] > v2[j])
        {
            j ++;
        }else if(v1[i] == v2[j])
        {
            cnt ++;
            i ++;
            j ++;
        }
    }
    while(i < n)
    {
        if(v1[i] < v2[j])
        {
            i ++;
        }else if(v1[i] == v2[j])
        {
            cnt ++;
            i ++;
        }else
        {
            i ++;
        }
    }
    while(j < m)
    {
        if(v1[i] > v2[j])
        {
            j ++;
        }else if(v1[i] == v2[j])
        {
            cnt ++;
            j ++;
        }else
        {
            j ++;
        }
    }

    cout << cnt + 1 << '\n';

    return 0;
}