Решение задачи с Yandex.Контест

187
03 мая 2019, 01:10

Не могу решить эту задачу, не проходит по времени.

Влад и правильные k-угольники

Ограничение времени 1 секунда
Ограничение памяти 64Mb
Ввод стандартный ввод или input.txt
Вывод стандартный вывод или output.txt

Влад - перфекционист. Как и любой перфекционист, он обожает правильные многоугольники. Зная это, его родители подарили ему набор, состоящий из n отрезков на 18-летие, чтобы их сын мог конструировать какие угодно многоугольники. Получив подарок, Влад задался вопросом: так сколько же всего правильных k-угольников он сможет сделать, используя каждый отрезок из набора не более одного раза? Немного потупив, он обратился к Вам, лучшему программисту вселенной, с данной задачей. Помогите Владу решить ее.

Формат ввода
В первой строке записаны два числа n (3 ≤ n ≤ 106) и k (3 ≤ k ≤ n), количество отрезков в наборе и число вершин в искомых многоугольниках соответственно. Во второй строке записано n чисел ai (1 ≤ ai ≤ 109) через пробел, где ai - длина i-го отрезка.

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

Помогите пожалуйста, вот мой код:

#include <fstream>
using namespace std;
ifstream in("input.txt");
ofstream out("output.txt");
void selectSort(int *arr, long size)
{
  for (long i = 0; i < size; i++)
    for (long j = i + 1; j < size; j++)
      if (arr[j] < arr[i])
        swap(arr[i], arr[j]);
}
int main()
{
    int n, k;
    in >> n >> k;
    int arr[n];
    for(int i = 0; i < n; i++)
        in >> arr[i];
    selectSort(arr, n);
    int answer = 0, count = 0;
    for(int i = 0; i < n - (k - 1); i++)
    {
        for(int j = i; j < n; j++)
        {
            if(arr[i] == arr[j])
                count++;
            if(count == k)
            {
                answer++;
                i += k - 1;
                break;
            }
        }
        count = 0;
    }
    out << answer;
    return 0;
}
READ ALSO
Разный порядок операторов

Разный порядок операторов

Почему эта программа не выдаёт ошибок для 1 и 2 строки, но выдаёт их для 3 и 4?

196
Отправка сообщений websocket

Отправка сообщений websocket

Пишу веб сокет сервер на языке javaЕсть ксласс с обработчиком событий: открытие, закрытие соединения, ошибки, и сообщения

205
Servlet java web.xml

Servlet java web.xml

Создал сервлет, имею файл webxml

225