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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
A1sen
0 / 0 / 0
Регистрация: 18.04.2013
Сообщений: 6
#1

Найти количество глотков каждого пьющего и минимально возможную суммарную жажду (файловый ввод/вывод) - C++

30.05.2013, 02:38. Просмотров 552. Ответов 2
Метки нет (Все метки)

Прошу решить задачу с4 егэ
Бутылка на всех
После урока физкультуры N школьников собрались в магазине, чтобы купить воды. Купив одну бутылку, они задумались: ведь в бутылке всего M глотков воды, а денег на еще одну бутылку у них нет!
Чтобы использовать бутылку максимально эффективно, школьники поступили следующим образом: каждый из них назвал целое неотрицательное число, показывающее, насколько сильно его мучает жажда. Когда ученик делает глоток из бутылки, его жажда уменьшается ровно в десять раз (с округлением вниз).
Необходимо определить, кто из жаждущих сколько глотков должен сделать, чтобы, когда вода закончится, их суммарная жажда стала минимально возможной.
Формат входного файла
Входной файл содержит целые числа N M, за которыми следуют N чисел ai — жажда i-го ученика.
Формат выходного файла
Выходной файл должен содержать одно число —– минимально возможную суммарную жажду.
Ограничения
1 ≤ N, M ≤ 105
0 ≤ ai ≤ 109

пример тестов:
input.txt
1)2 3
9 30
2)4 3
0 101 5 12

output.txt
1)0
2)7
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.05.2013, 02:38     Найти количество глотков каждого пьющего и минимально возможную суммарную жажду (файловый ввод/вывод)
Посмотрите здесь:

Найти наименьшую цифру заданного пятизначного числа и количество вхождений этой цифры (файловый ввод/вывод) - C++
Во входном файле input.txt записано целое пятизначное число N В выходной файл output.txt выведите два числа - самую маленькую цифру в...

Найти ошибку в задаче на файловый ввод/вывод (задача про МКАД) - C++
Длина Московской кольцевой автомобильной дороги —109 километров. Байкер Вася стартует с первого километра МКАД и едет со скоростью V...

Найти причины и способы исправления ошибок в коде (файловый ввод/вывод) - C++
Помогите пожалуйста найти ошибку // ConsoleApplication1.cpp: определяет точку входа для консольного приложения. // #include...

Найти причины и способы устранения ошибок в коде (структуры, файловый ввод/вывод) - C++
#include <iostream> #include <fstream> #include <string> using namespace std; struct avto { string mark; string cost; ...

В заданной матрице найти значение и номер максимального элемента (файловый ввод/вывод) - C++
Из тестового файла ввести двумерный массив L(n,n), состоящий из целых чисел и вычислить: • найти максимальный элемент матрицы и его ...

Найти причины и способы устранения ошибок в коде и организовать файловый ввод/вывод - C++
Уплотнить массив, удалив из него все нулевые строки и столбцы Почему то код не работает и как реализовать в программе ввод через...

Найти среднюю длину слова, предложения, абзаца в заданном тексте (файловый ввод/вывод) - C++
получить следующую информацию о тексте, содержащуюся в файле: -среднюю длину предложения (в словах) -среднюю длину слов (в символах) ...

В заданном файле найти порядковый номер самого большого числа (файловый ввод/вывод) - C++
Входной файл: input.txt Выходной файл: output.txt Женя купила 12 яблок и по приходу домой решила узнать массу каждого яблока....

Найти минимальный элемент в списке и удалить все элементы равные минимальному (файловый ввод/вывод) - C++
Каждую задачу данного раздела решить, реализовав список в виде линейно связанной структуры: стека, очереди и списка общего вида. Исходный...

Найти и сохранить в каждой строке только те слова, которые удовлетворяют условию (файловый ввод/вывод) - C++
Вечер добрый. Помогите студенту, пожалуйста: завтра экзамен в университете, а на допуск нужно сделать еще одну лабораторную, а я с...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MrGluck
Модератор
Эксперт CЭксперт С++
7181 / 4347 / 634
Регистрация: 29.11.2010
Сообщений: 11,838
30.05.2013, 02:58     Найти количество глотков каждого пьющего и минимально возможную суммарную жажду (файловый ввод/вывод) #2

Не по теме:

Ну и дебильное же задание



А как же старое доброе "вынеси попить" ?)

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
#include <iostream>
#include <fstream>
#include <vector>
#include <numeric>
 
int main()
{
    std::ifstream ifs("input.txt");
    if (!ifs) return 1;
    std::ofstream o("output.txt");
    int N, M, tmp;
    std::vector<int> v;
 
    ifs >> N >> M;
    if (N < 1 || N > 105 || M < 1 || M > 105)
        return 2;
    for (int i=0; i < N && ifs >> tmp; i++)
    {
        if (tmp < 0 || tmp > 109)
            return 3;
        v.push_back(tmp);
    }
 
    for (int i=0; i < M; i++)
    {
        std::vector<int>::iterator it = std::max_element(v.begin(), v.end());
        *it /= 10;
    }
 
    o << std::accumulate(v.begin(), v.end(), 0);
}

Не по теме:

Wow, написал с нуля - скомпилилось с первого раза

A1sen
0 / 0 / 0
Регистрация: 18.04.2013
Сообщений: 6
30.05.2013, 03:18  [ТС]     Найти количество глотков каждого пьющего и минимально возможную суммарную жажду (файловый ввод/вывод) #3
Спасибо большое
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru