Skip to content

Instantly share code, notes, and snippets.

@anitainfo
Last active November 20, 2020 15:49
Show Gist options
  • Save anitainfo/dd4679c1cb0229cfb58312dfc6a3a4a5 to your computer and use it in GitHub Desktop.
Save anitainfo/dd4679c1cb0229cfb58312dfc6a3a4a5 to your computer and use it in GitHub Desktop.
#include<bits/stdc++.h> //biblioteca utilizada
using namespace std;
int main()
{
map<long long int, int> v; //declaração do map 'v'
set<long long int> s; //declaração do set 's';
int C,N; //declarção das variáveis
long long int Pc, Vc, Pn, Vn; //declaração de variáveis do tipo long long
scanf("%d %d", &C, &N); //leitura da 1ª linha de entrada
for(int i=0; i<C; i++) //loop para ler todos os 'Pc's e 'Vc's
{
scanf("%lld %lld", &Pc, &Vc); //leitura de um par (Pc,Vc)
v[Pc]=Vc; //no map v, 'v[Pc]' recebe 'Vc'
}
for(int i=0; i<N; i++) //loop para ler todos os 'Pn's e 'Vn's
{
scanf("%lld %lld", &Pn, &Vn); //leitura de um par (Pn,Vn)
if(Vn>v[Pn]) //se o valor 'Vn' lido for maior que o atual armazenado (atualização mais nova)
{
v[Pn]=Vn; //'v[Pn]' recebe 'Vn' (recebe identificador da atualização mais nova)
s.insert(Pn); //insiro 'Pn' no conjunto de impressão 's'
}
}
set<long long int>::iterator it; //declaro um interador 'it'
for (it = s.begin(); it != s.end(); it++) //loop para ir do começo ao fim do meu conjunto de impressão
{
printf("%lld %lld\n", *it, v[*it]); //imprimo o iterador e o valor corresponde a 'v[*it]' no map
}
return 0; //retorna a 0
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment