С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 01.11.2023
Сообщений: 25
1

Определить сколько способов есть выбрать два различных памятника для организации свиданий

29.04.2024, 21:30. Показов 682. Ответов 7
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
В центре города Че есть пешеходная улица — одно из самых популярных мест для прогулок жителей города. По этой улице очень приятно гулять, ведь вдоль улицы расположено n забавных памятников.

Девочке Маше из города Че нравятся два мальчика из её школы, и она никак не может сделать выбор между ними. Чтобы принять окончательное решение, она решила назначить обоим мальчикам свидание в одно и то же время. Маша хочет выбрать два памятника на пешеходной улице, около которых мальчики будут её ждать. При этом она хочет выбрать такие памятники, чтобы мальчики не увидели друг друга. Маша знает, что из-за тумана мальчики увидят друг друга только в том случае, если они будут на расстоянии не более r метров.

Маша заинтересовалась, а сколько способов есть выбрать два различных памятника для организации свиданий.

Формат входных данных
В первой строке находятся два целых числа n и r (2⩽n⩽300 000, 1⩽r⩽109) — количество памятников и максимальное расстояние, на котором мальчики могут увидеть друг друга.
Во второй строке заданы n положительных чисел d1, d2, ..., dn, где di— расстояние от i-го памятника до начала улицы. Все памятники находятся на разном расстоянии от начала улицы. Памятники приведены в порядке возрастания расстояния от начала улицы (1⩽d1<d2<...<dn⩽109).

Формат выходных данных
Выведите одно число — число способов выбрать два памятника для организации свиданий.

Пояснения к примеру
В приведённом примере Маша может выбрать памятники 1 и 4 или памятники 2 и 4.

Ввод
4 4
1 3 5 8
Вывод
2

Мое решение:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <cstdio>
#include <vector>
using namespace std;
int main() {
    int n, r; cin >> n >> r;
    vector <int> nums(n);
    for (int i = 0; i < n; ++i) scanf("%d", &nums[i]);
    int i = 0, j = 1, cnt = 0;
    while (i < n - 1 && j < n) {
        if (nums[j] - nums[i] > r) {
            cnt += n - j;
            ++i;
        }
        else ++j;
    }
    cout << cnt;
    return 0;
}
Это решение проходит 35 из 50 тестов. Самих тестов нет. Собственно меня интересует в чем может быть проблема.
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
29.04.2024, 21:30
Ответы с готовыми решениями:

Определить количество способов выбрать два различных памятника для организации свиданий
В центре города Че есть пешеходная улица — одно из самых популярных мест для прогулок жителей...

Определить, сколько способов есть выбрать два различных памятника для организации свиданий?
В центре города Че есть пешеходная улица — одно из самых популярных мест для прогулок жителей...

Определить сколько существует различных способов выбрать три текста из имеющихся так, чтобы их эпичность возрастала
Невероятно, но Макса пригласили на Versus Battle — соревнование среди рэп-исполнителей, ставшее в...

Сколько различных способов есть при выборе карт?
Из колоды 52 карт (13х4 масти) выбирается 7 карт. Сколько различных способов существует выбрать 7...

7
Эксперт функциональных языков программированияЭксперт С++
4272 / 2125 / 965
Регистрация: 01.06.2021
Сообщений: 7,320
29.04.2024, 21:35 2
Город Че
1
0 / 0 / 0
Регистрация: 01.11.2023
Сообщений: 25
29.04.2024, 21:41  [ТС] 3
Я видел эту тему. Там показано иное решение данной задачи. Меня же интересует в заключается моя ошибка, как и было написано в теме. Так же отмечу, что последнее решение из той темы, схожее с моим, так же проходит только 35 тестов.
0
677 / 479 / 216
Регистрация: 06.09.2013
Сообщений: 1,312
30.04.2024, 06:47 4
Лучший ответ Сообщение было отмечено Pokalino как решение

Решение

Pokalino,
C++
1
unsigned long long cnt = 0;
1
3719 / 2648 / 761
Регистрация: 29.06.2020
Сообщений: 9,800
30.04.2024, 14:28 5
Сколько тут уже таких тем от таких отличных погроммистов...
0
0 / 0 / 0
Регистрация: 01.11.2023
Сообщений: 25
30.04.2024, 14:38  [ТС] 6
SmallEvil, не понимаю к чему предъява. Изучаю язык, столкнулся с проблемой, задал вопрос в соответствующем разделе «cpp для начинающих». Данная ошибка, конечно, глупая, однако вчера я ее не заметил. Человеку ответить было не сложно, он ответил. Мне данный ответ помог. Так спрашивается, в чем заключается проблема? К чему был ваш комментарий?
0
3719 / 2648 / 761
Регистрация: 29.06.2020
Сообщений: 9,800
30.04.2024, 14:50 7
Цитата Сообщение от Pokalino Посмотреть сообщение
Изучаю язык, столкнулся с проблемой
Первый раз столкнулись с переполнением ?
А то что задачи нужно анализировать и изучать это не вам ?
По какой то непонятной мне причине, на этих (простите за нормальное слово) "курсах" это сплошь и рядом с этим переполнением. Им не нужно вас учить алгоритмам и инструментам, а вот этому, и того не достигают.

Цитата Сообщение от Pokalino Посмотреть сообщение
Человеку ответить было не сложно
Это вам так кажется. Ответившему человеку нужно прочитать всю эту простыню ненужных букв, сделать анализ ТЗ и в придачу ещё и вашего кода.

Цитата Сообщение от Pokalino Посмотреть сообщение
Так спрашивается, в чем заключается проблема?
Проблем тут нет, они там, у Вас.
0
0 / 0 / 0
Регистрация: 01.11.2023
Сообщений: 25
30.04.2024, 15:46  [ТС] 8
SmallEvil, Нет, я не впервые сталкиваюсь с переполнением. Однако в рамках этой задачи я его не заметил. Я достаточно долго анализировал данную задачу и мой код, пришел к выводу, что решение реализовано верно. Я предполагал, что может быть переполнение, но счетчик у меня в подозрения не попал. Это и в правду совершенно глупая ошибка, которую я не заметил исключительно по невнимательности. Я посчитал, что нужен взгляд со стороны и задал вопрос на данном форуме.
Что касается вашего утверждения о том, что человеку было трудно ответить на на мой вопрос. Ну это вообще высер какой то. Никто никого не заставляет отвечать, это делается добровольно. Если бы это было трудно сделать, и ему не хотелось бы это делать, то думаю, он бы просто не отвечал. Но ответил, и я ему благодарен.
P.s. У меня нет к вам негатива, однако считаю ваш комментарий не уместным.
0
30.04.2024, 15:46
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
30.04.2024, 15:46
Помогаю со студенческими работами здесь

Сколько есть различных способов получения подарков девушками?
Для поздравления девушек, которых в классе 10, с праздником, ребята решили купить 10 разных книг...

Посчитать, сколько различных способов купить n фруктов есть у Пети
2) Петя должен купить в магазине яблоки, бананы, апельсины, айву, но он не может купить...

Сколько различных способов есть у зайца добраться до вершины лестницы?
В нашем зоопарке появился заяц. Его поместили в клетку, и чтобы ему не было скучно, директор...

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

Сколько есть способов из 52 карт выбрать нужные?
Сколько есть способов есть когда из игральной колоды карт (52 карты, 4 масти - две чорные и две...

Сумма 10 различных целых чисел равна 1. Сколько способов выбрать из этих десяти пять с положительный суммой?
Помогите с ответом!


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Как написать микросервис на C# с Kafka, MediatR, Redis и GitLab CI/CD
InfoMaster 15.01.2025
В современной разработке программного обеспечения микросервисная архитектура стала стандартом де-факто для создания масштабируемых и гибких приложений. Этот подход позволяет разделить сложную систему. . .
Что такое CQRS и как это реализовать на C# с MediatR
InfoMaster 15.01.2025
Концепция CQRS и её роль в современной разработке В современном мире разработки программного обеспечения архитектурные паттерны играют ключевую роль в создании масштабируемых и поддерживаемых. . .
Как настроить CI/CD с Azure DevOps
InfoMaster 15.01.2025
CI/ CD, или непрерывная интеграция и непрерывное развертывание, представляет собой современный подход к разработке программного обеспечения, который позволяет автоматизировать и оптимизировать процесс. . .
Как настроить CI/CD с помощью Jenkins
InfoMaster 15.01.2025
Введение в CI/ CD и Jenkins В современной разработке программного обеспечения непрерывная интеграция (CI) и непрерывная доставка (CD) стали неотъемлемыми элементами процесса создания качественных. . .
Как написать микросервис на Go/Golang с Kafka, REST и GitHub CI/CD
InfoMaster 14.01.2025
Определение микросервиса, преимущества использования Go/ Golang Микросервис – это архитектурный подход к разработке программного обеспечения, при котором приложение состоит из небольших, независимо. . .
Как написать микросервис с нуля на C# с RabbitMQ, CQRS, Swagger и CI/CD
InfoMaster 14.01.2025
В современном мире разработки программного обеспечения микросервисная архитектура стала стандартом де-факто для создания масштабируемых и гибких приложений. Этот архитектурный подход предполагает. . .
Как создать интернет-магазин на PHP и JavaScript
InfoMaster 14.01.2025
В современном мире электронная коммерция стала неотъемлемой частью бизнеса. Создание собственного интернет-магазина открывает широкие возможности для предпринимателей, позволяя достичь большей. . .
Как написать Тетрис на Ассемблере
InfoMaster 14.01.2025
Тетрис – одна из самых узнаваемых и популярных компьютерных игр, созданная в 1984 году советским программистом Алексеем Пажитновым. За прошедшие десятилетия она завоевала симпатии миллионы людей по. . .
Как создать игру "Танчики" на Unity3d и C#
InfoMaster 14.01.2025
Разработка игр – это увлекательный процесс, сочетающий в себе творчество и технические навыки. В этой статье мы рассмотрим создание классической игры "Танчики" с использованием Unity3D и языка. . .
Организую платный онлайн микро-курс по доработке Android-клиента Telegram
_Ivana 14.01.2025
Официальная версия и распространенные форки не полностью устраивают? Сделай свою кастомную версию клиента! 4 занятия по 2 часа (2 недели пн, ср 19:00-21:00 по Москве). Первое вводное занятие. . .
Как создать приложение для фитнеса для iOS/iPhone на Kotlin
InfoMaster 14.01.2025
Создание собственного фитнес-приложения — это не только захватывающий, но и полезный процесс, ведь оно может стать вашим верным помощником на пути к здоровому и активному образу жизни. В современных. . .
Как создать приложение магазина для iOS/iPhone на Swift
InfoMaster 14.01.2025
Введение в разработку iOS-приложений Разработка приложений для iPhone и других устройств на базе iOS открывает огромные возможности для создания инновационных мобильных решений. В данной статье мы. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru