Форум программистов, компьютерный форум, киберфорум
Алгоритмы
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
31 / 30 / 2
Регистрация: 26.01.2010
Сообщений: 124
Записей в блоге: 1

Олимпиадная задача

27.01.2014, 01:20. Показов 1263. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток!
Есть задача, которую я приложил в текстовом документе. Сюда я ее не скинул из-за форматирования входных данных.
После того как прочтете условие:
В общем моё решение заключается в сортировке массива по возрастанию. Отсеивание первых k (количество друзей) элементов массива и суммирование остальных. Тем не менее программа прошла лишь 12 тестов (из скольки не знаю, дурацкая ejudge не говорит). Что в моем решении не так? Заранее спасибо...
Мое решение:
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
//#include "stdafx.h"
#include <fstream>
 
using namespace std;
 
void quickSortR(int* a, long N) {
    long i = 0, j = N;
    long temp, p;
    p = a[N >> 1];
    do {
        while (a[i] < p) i++;
        while (a[j] > p) j--;
 
        if (i <= j) {
            temp = a[i]; a[i] = a[j]; a[j] = temp;
            i++; j--;
        }
    } while (i <= j);
    if (j > 0) quickSortR(a, j);
    if (N > i) quickSortR(a + i, N - i);
}
 
int main()
{
    int n, k, i, s = 0;
    int *a = new int[1000000];
    ifstream f1("E.dat");
    ofstream f2("E.sol");
    f1 >> n >> k;
    for (i = 0; i < n; i++) {
        f1 >> a[i];
    }
    quickSortR(a, n - 1);
    for (i = k; i < n; i++) {
        s = s + a[i];
    }
    f2 << s;
    delete [] a;
    return 0;
}
Вложения
Тип файла: docx Задача.docx (14.1 Кб, 12 просмотров)
Тип файла: doc Задача.doc (33.5 Кб, 10 просмотров)
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
27.01.2014, 01:20
Ответы с готовыми решениями:

Олимпиадная задача по информатике
Здравствуйте. Попалась интересная задача по информатике, но никак не могу подступиться к задача(. Знаю то, что скорее всего задача на...

Олимпиадная задача. Средние элементы массива.
Cнова &quot;олимпиадная задачка&quot; :) Но в этот раз, я тупо не знаю, что делать. Сама задача: Средним элементом массива из K...

Выборы заведующего кафедрой [ОЛИМПИАДНАЯ ЗАДАЧА]
Попалась задача на олимпиаде, смог решить на 2 ОК из 20, кажется, где-то в алгоритме ошибся. Буду благодарен за идеи и любую помощь!...

1
194 / 174 / 30
Регистрация: 10.07.2012
Сообщений: 800
27.01.2014, 11:28
у вас какой-то странный QSort. можно так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
void QSort(int l, int r) {
    int i = l, j = r;
    int x = b[l + rand() % (r - l + 1)]; // на случайных тестах такой выбор среднего элемента оказывается лучше
    do {
        while (b[i] < x) ++i;
        while (b[j] > x) --j;
        if (i <= j) {
            swap(b[i], b[j]);
            ++i, --j;
        }
    } while (i <= j);
    if (l <= j) QSort(l, j);
    if (i <= r) QSort(i, r);
}
и потом не забывайте, что вы считываете и выводите на макстесте ~10^6 чисел. я думаю, что потоками это делать очень рисковано. используйте freopen() + scanf()/printf(). еще почитайте http://codeforces.ru/blog/entry/5217?locale=ru.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
27.01.2014, 11:28
Помогаю со студенческими работами здесь

Олимпиадная задача "Интересный прямоугольник"
Решение сразу показалась не очень-то и сложным. Но теперь зашёл в тупик. Задача на геометрию. Помогите, пожалуйста, язык Pascal или C++, с...

олимпиадная задачка
На доске наклеено несколько листов объявлений. Все они прямоугольной формы. Некоторые письма накладываются частично или полностью. Все...

Олимпиадная подготовка
Многие из участников форума принимают участие в различных олимпиадах, конкурсах по программированию.Я предлагаю выкладывать в этой теме...

Подсуммы (олимпиадная задачка), нужны идеи
64 megabytes / 1 seconds / stdin / stdout Не все числа одинаково полезны. Если, например, вам потребуется насобирать сумму как можно...

Олимпиадная задачка. Если есть идеи то помогите. Вместе решим
B. Время исполнения Time Limit: 1000 ms Memory Limit: 1024 kb При проектировании программы на языке низкого уровня иногда...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! в-строка - входное арифметическое выражение в инфиксной(обычной). . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru