Областная олимпиада по информатике 2020 год, 9-11 классы


Задача D. Массивті бөлу

Ограничение по времени:
1 second
Ограничение по памяти:
256 megabytes

Тиманың үш інісі бар: Батыр, Димаш және Есмахан. Тима оларға көңіл көтеру үшін размеры $n$ болатын $a$ массивін беруге шешті. Әрбір сан бір бөлікте болатындай, Тима массивті үш бөлікке бөліп, інілеріне таратпақшы. Бөліктер бос болмау керек. Бір бөліктің барлық сандары массивте қатар тұруы керек. $A$ - бірінші бөліктегі сандар сомасы, $B$ - екінші бөліктегі сандар сомасы, $C$ - үшінші бөліктегі сандар сомасы болсын. Інілері төбелеспеуі үшін, Тима max(A, B, C) - мин(A, B, C) мәні аз болғанын қалайды. Ең аз max(A, B, C) - min(A, B, C) мәнін табыңыз.
Формат входного файла
Бірінші жолда бір бүтін $n$ $(3 <= n <= 3 * 10^5)$ саны берілген. Екінші жолда $n$ бүтін сан $a_1$, $a_2$, $\dots$, $a_n$ $(0 <= a_i <= 10^5)$ сандары берілген.
Формат выходного файла
Есептің жауабын — ең аз max(A, B, C) - min(A, B, C) мәнін шығарыңыз.
Система оценки
Есеп 20 тесттен тұрады, әр тест 5 баллға бағаланады:
  1. $n <= 10^2$. Тесты 1 -- 4
  2. $n <= 5 * 10^3$. Тесты 5 -- 8
  3. $a_i <= 1$. Тесты 9 -- 12
  4. $n <= 3 * 10^5$. Тесты 13 -- 20
Пример:
Вход
7
4 1 2 3 1 3 2
Ответ
1
Замечание
Үлгідегі бөліністердің бір түрі: 4 1 | 2 3 1 | 3 2 Және 4 1 | 2 3 | 1 3 2 бөлінісі дұрыс ( Aibar Kuanyshbay )
посмотреть в олимпиаде

Комментарий/решение:

  0
2021-02-21 12:09:35.0 #

#include <iostream>

using namespace std;

int main(){

int n;

cin >> n;

int k = 0;

int a[n];

for(int i=0;i<n;i++) {

cin >> a[i];

k += a[i];

}

cout << k%3;

return 0;

}

  0
2023-02-14 11:59:16.0 #

неправильный тест 3

  0
2021-02-21 17:59:58.0 #

кодты корсету/жасыру

  2
2021-02-23 11:05:55.0 #

кодты корсету/жасыру