Разбор
В задаче следует промоделировать работу с множеством set. Пусть — число, задуманное Юрой. Если уже присутствует в множестве, выводим "Yes" и размер множества. Иначе добавляем в множество, выводим "No" и размер множества.
Реализация алгоритма
Объявим множество .
set<int> s;
Читаем количество запросов .
scanf("%d",&n);
Последовательно обрабатываем запросов.
for(i = 1; i <= n; i++) {
Читаем число , которое задумал Юра.
scanf("%d",&x);
Если числа нет в множестве , то заносим его туда, выводим "No" и мощность множества.
if(s.find(x) == s.end()) { s.insert(x); printf("No %d\n",s.size()); } else
Если число присутствует в множестве , то выводим "Yes" и мощность множества.
printf("Yes %d\n",s.size()); }
Java реализация
import java.util.*; public class Main { public static void main(String[] args) { Scanner con = new Scanner(System.in); TreeSet<Integer> s = new TreeSet<Integer>(); int n = con.nextInt(); for(int i = 0; i < n; i++) { int x = con.nextInt(); if (s.contains(x)) System.out.println("Yes " + s.size()); else { s.add(x); System.out.println("No " + s.size()); } } con.close(); } }
Python реализация
Читаем количество запросов .
n = int(input())
Объявим множество .
s = set({})
Последовательно обрабатываем запросов.
for _ in range(n):
Читаем число , которое задумал Юра.
x = int(input())
Если число присутствует в множестве , то выводим "Yes".
if x in s: print("Yes", end = ' ') else:
Если числа нет в множестве , то заносим его туда и выводим "No".
s.add(x) print("No", end = ' ')
После сообщения "Yes" или "No" выводим мощность множества.
print(len(s))