Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Codeforce. Такси. - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Списки структур. Указатель на узел другого списка внутри структуры http://www.cyberforum.ru/cpp-beginners/thread527015.html
Имеется следующий кусок кода: struct date { int day; int month; int year; }; /* Пациент */
C++ обработка символьной информации Составить программу, которая преобразует произвольный текст путем переворачивания (записи букв в обратном порядке) слов, имеющих четное количество букв. http://www.cyberforum.ru/cpp-beginners/thread527013.html
C++ Как сложить два char?
Как сложить два char?
C++ Программу в JS или С++
Нужно программу перевести JS или С++ я так понял это паскаль, или дельфи, простите не сильно, так как не учил. Помогите пожалуйста, буду весьма благодарен :) Если не в тот дозрел форума простите)...
C++ Деление числа http://www.cyberforum.ru/cpp-beginners/thread526985.html
Извините за дубляж темы, это уже много раз было, но такая задача: 1) от многозначного числа отделить последнюю цифру, например 123456, чтобы было 12345 2) отдклить от многозначного чила...
C++ Поток,дисковый файл,добовление битов Всем привет! Сталкнулся с такой проблемой как отсутствие в номом стандарте ios::nocreate. Полазив в инете нашел мнение что мол сначало надо открывать файл на чтрение если не получается открыть то... подробнее

Показать сообщение отдельно
diagon
Higher
1930 / 1196 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
24.03.2012, 22:08
Интересный сайт =)
Мое решение, проходит все тесты, но, боюсь, не особо читаемое:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#include <iostream>
 
int main()
{
    int answer = 0;
    int arr[4] = {};
 
    int n;
    std::cin >> n;
 
    for (int i = 0, x; i < n; ++i)
    {
        std::cin >> x;
 
        if ( x == 4 )
            ++answer;
        else
            ++arr[x];
    }
 
    answer += arr[2] / 2;
    arr[2] %= 2;
 
    int temp = std::min( arr[1], arr[3] );
    answer += temp;
    arr[1] -= temp;
    arr[3] -= temp;
 
    if ( arr[1] == 0 )
    {
        answer += arr[2] + arr[3];
    }
    else
    {
        if ( arr[2] != 0)
        {
            ++answer;
            arr[1] = std::max(arr[1] - 2, 0);
        }
 
        answer += arr[1] / 4 + ( arr[1] % 4 != 0 );
    }
 
    std::cout << answer;
}
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru