Открытая олимпиада по программированию

www.olympiads.ru

Telegram канал олимпиады
Telegram чат олимпиады
Новости
Информация об олимпиаде
График проведения и правила отбора
Правила проведения отборочного этапа
Заочный этап
Условия задач
Текущие результаты
Регистрация и вход
Персональная страница
Правила заочного этапа
Правила проведения короткого тура
Часто задаваемые вопросы
Заключительный этап
Список приглашенных участников
Информация о проведении
Итоговые результаты
Материалы олимпиады

Генеральный спонсор олимпиады
фирма 1С

Олимпиада проводится при поддержке
ЦРИТО МФТИ

и компании Яндекс

Партнёром олимпиады является
платформа Codeforces.com

Олимпиады прошлых лет
2022/23
2021/22
2020/21
2019/20
2018/19
2017/18
2016/17
2015/16
2014/15
2013/14
2012/13
2011/12
2010/11
2009/10
2008/09
2007/08
2006/07

XVII Открытая олимпиада школьников по программированию, 2022/23 учебный год

Ссылки на вход:

Второй тур

Второй тур вне конкурса

Первый тур

Первый тур вне конкурса

Пробный тур

Документация по языкам программирования:

cppreference.com

Python 3.9.9

Java 17

PascalABC.Net

Примеры реализации ввода-вывода

Ниже приведены замечания по разным языкам программирования и приведен пример программы, вычисляющую сумму двух целых чисел, считываемых со стандартного ввода и выводящую результат на стандартный вывод, с использованием 64-битных целых чисел. Входные числа записаны в одной строке.


Python версии 3

a, b = map(int, input().split())
print(a + b)

C

#include <stdio.h>

int main()
{
  long long a, b;
  scanf("%lld%lld", &a, &b);
  printf("%lld\n", a + b);
  return 0;
}

C++

#include <iostream>

using namespace std;

int main()
{
  long long a, b;
  cin >> a >> b;
  cout << a + b << "\n";
  return 0;
}

Pascal

var a, b: int64;
begin
    read(a);
    read(b);
    writeln(a + b);
end.

Mono C#

using System;
using System.IO;
class MainClass
{
  static void Main()
  {
    string[] tokens = Console.ReadLine().Split();
    long a = long.Parse(tokens[0]);
    long b = long.Parse(tokens[1]);
    Console.WriteLine("{0}", a + b);
  }
}

Java

import java.io.*;

public class Main
{
  public static void main(String args[]) throws Exception
  {
    Scanner in = new Scanner(System.in);
    long a, b;
    a = in.nextLong();
    b = in.nextLong();
    System.out.println(a + b);
  }
}

Реализация быстрого чтения на Java

import java.io.*;
import java.util.*;

public class Sample {

    public void solve() throws IOException {
        long a = nextLong();
        long b = nextLong();
        System.out.println(a + b);
    }

    public void run() {
        try {
            br = new BufferedReader(new InputStreamReader(System.in));
            solve();
        } catch (IOException e) {
            e.printStackTrace();
            System.exit(1);
        }
    }

    BufferedReader br;
    StringTokenizer in;
    PrintWriter out;

    public String nextToken() throws IOException {
        while (in == null || !in.hasMoreTokens()) {
            in = new StringTokenizer(br.readLine());
        }
        return in.nextToken();
    }

    public int nextInt() throws IOException {
        return Integer.parseInt(nextToken());
    }

    public double nextDouble() throws IOException {
        return Double.parseDouble(nextToken());
    }

    public long nextLong() throws IOException {
        return Long.parseLong(nextToken());
    }

    public static void main(String[] args) throws IOException {
        new Sample().run();
    }

}