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

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

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

Задача на поиск максимума - C++

16.05.2013, 23:48. Просмотров 623. Ответов 5
Метки нет (Все метки)

Задача с (acm.timus.ru)
Вот условия
Рассмотрим последовательность чисел ai, i = 0, 1, 2, …, удовлетворяющих следующим условиям:
a0 = 0
a1 = 1
a2i = ai
a2i + 1 = ai + ai + 1
для каждого i = 1, 2, 3, … .
Напишите программу, которая для заданного значения n находит максимальное среди чисел a0, a1, …, an.
Исходные данные
Входные данные состоят из нескольких тестов (не более 10). Каждый тест представляет собой строку, в которой записано целое число n (1 ≤ n ≤ 99 999). В последней строке входных данных записано число 0.

Попробывал создать что-то,получилось вот так(спасибо книгам и интернету за это)

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
#include "StdAfx.h"
#include <algorithm>
#include <iostream>
#include <cmath>
const int IND_MAX = 99999;
int  get_max_in_seq(int  n)
{
    int val[IND_MAX + 1] = {0, 1};
    for(int i = 2; i <= n; ++i)
    {
        val[i] = i % 2 == 0 ? val[i / 2] : val[i / 2] + val[i / 2 + 1];
    }
 
    return  *std::max_element(val, val + n + 1);
}
int main()
{
    std::locale::global(std::locale(""));
    for(;; )
    {
        int n = 0;
        std::cout << "1 <= N <= "
                  << IND_MAX 
                  << ": ";
        std::cin >> n;        
 
        if(n < 1 || IND_MAX < n)  break;
        
        std::cout 
                  << std::endl
                  << get_max_in_seq(n)
                  << std::endl
                  << std::endl
                  << std::endl;    
    }
}
У меня компилируется в визуал 2010 и в 2012,но сайт(тимус)отказывается принимать,и выдет ошибку компилирования.
Что не так,почему сайт отказывается принимать?

Добавлено через 20 минут
Так же прошу помочь разобраться с этими задачами,а то я в тупике.Задача оттуда же.
Король Артур
Вы не поверите, но однажды в древности произошла такая история. На заседании круглого стола король Артур встал и сказал: «Пусть каждый рыцарь, сидящий от меня справа не более чем на b мест и не менее чем на a мест, получит по c золотых монет из моего кармана». Если занумеровать всех рыцарей числами от 1 до N против часовой стрелки, так что, рыцарь, сидящий справа от Артура, получит номер 1, а рыцарь, сидящий слева от Артура, — номер N, то получается, что он раздал по c золотых монет рыцарям с номерами a, a + 1, …, b.
Затем благородные рыцари, посмотрев на щедрый поступок Артура, начали вставать по очереди против часовой стрелки и говорить свою тройку чисел ai, bi, ci (1 ≤ i ≤ N). После каждого такого высказывания рыцари, сидящие справа от короля Артура не более чем на bi мест и не менее чем на ai мест, получали по ci золотых монет от короля.
Поскольку каждый рыцарь был очень благороден, то либо ai > i, либо bi < i. Ваша задача — помочь рыцарям выяснить, сколько монет каждый из них получил в дар.
Исходные данные
В первой строке записано количество рыцарей короля Артура N (2 ≤ N ≤ 100000). В следующей строке записаны целые числа a, b и c, названные Артуром (1 ≤ a ≤ b ≤ N; 1 ≤ c ≤ 10000). В следующих N строках перечислены тройки целых чисел ai, bi, ci, названные рыцарями (1 ≤ ai ≤ bi ≤ N; 1 ≤ ci ≤ 10000).
Результат
Выведите N чисел через пробел. i-е число должно равняться количеству монет, которое получил в дар i-й рыцарь.


шоколадка
На обёртке шоколадки фирма-производитель обязана указать все продукты, из которых шоколадка сделана. Строго говоря, производителю следовало бы указывать также и массовую долю каждого из продуктов, однако, по понятным соображениям, многие этого не делают — в самом деле, надпись «Вода — 80%» вполне способна отпугнуть покупателей. Однако же, некоторые процентные доли производители все же любят указывать, полагая, что надпись «Цельные орехи — 90%» покупателей привлечёт. Подобное рвение может, впрочем, привести и к обратному эффекту, обернувшись антирекламой. Дело в том, что список продуктов, из которых сделана шоколадка, обязательно должен быть упорядочен по невозрастанию массовых долей. Соответственно, красивая надпись «Какао-масло, Вода, Какао-порошок — 40%» позволяет уличить производителя в недобросовестности: либо он неверно указал содержание какао-порошка, либо неверно указал порядок следования продуктов…
Напишите программу, которая позволила бы определять недобросовестные надписи на шоколадках.
Исходные данные
В первой строке записано целое число N (1 ≤ N ≤ 5000) — количество продуктов, из которых сделана шоколадка. Далее следуют N строк, каждая из которых содержит описание одного продукта: название (не длиннее 16 символов), которое состоит из больших и маленьких латинских букв, дефиса и символа подчёркивания. Названия всех продуктов различны. После пробела в каждой из этих строк следует цифра 0 или 1 — первая обозначает, что производитель не указал массовую долю продукта, а вторая — что после ещё одного пробела в строке записана массовая доля в сотых долях процента. Все продукты с указанной массовой долей перечислены в порядке невозрастания этой доли. Массовые доли, как реальные, так и указанные на обёртке, являются целыми числами от 1 до 10000 (в сотых долях процента).
Результат
Следует вывести одно слово заглавными латинскими буквами: NO, если описание состава шоколадки не может быть достоверным, и YES, если представленная информация непротиворечива.]


свобода выбора

Не успели жители Албании привыкнуть к свободе слова (более подробно эта история описана в задаче «Свобода слова»), как им на голову свалилась ещё и свобода выбора. В самом ближайшем будущем населению предстоит пережить первые в истории страны демократические президентские выборы.
О намерении бороться за высокий пост уже объявили два самых ярких албанских политика последних лет – либерал Мухаммед Тахир-оглы и его извечный оппонент консерватор Ахмед Касым-бей.
Задача
Следуя демократическим традициям, перед выборами оба кандидата развлекаются тем, что выливают друг другу на головы тонны грязи под одобрительные возгласы избирателей. Каждый кандидат при любом удобном случае произносит предвыборную речь, в которой обвиняет своего политического оппонента в коррупции, неуважении к старшим, пособничестве террористам и вообще всячески демонстрирует своё уважение к противнику. В результате выступления Мухаммеда и Ахмеда стали похожи друг на друга до такой степени, что избирателям теперь вообще до лампочки, за кого голосовать.
Этим хочет воспользоваться третий кандидат в президенты – председатель социалистической партии Албании товарищ Ктулху. Он поленился написать себе предвыборную речь, но между тем заметил, что некоторые фрагменты выступлений г-на Тахир-оглы и г-на Касым-бея полностью совпадают. Тогда тов. Ктулху решил взять самый длинный совпадающий фрагмент и сделать его своей предвыборной речью.
Исходные данные
Первая строка содержит целое число N (1 ≤ N ≤ 100000). Вторая строка содержит речь г-на Тахир-оглы. Третья строка содержит речь г-на Касым-бея. Каждая речь состоит из N заглавных латинских букв.
Результат
Вывести речь тов. Ктулху. Если задача имеет несколько решений, то вывести любое из них.

Если кто-то сможет чем-то помочь,буду очень благодарен.)))

Добавлено через 8 минут
Кликните здесь для просмотра всего текста
Вступление
Я люблю свой город. Меня вдохновляют эти горделиво стремящиеся ввысь хрущёвки и перекопанные ещё в прошлом веке улицы. Мне так близки эти толпы вечно обиженных представителей рабочего класса, прячущихся от армии тупых студентов, охотящихся за стеклотарой пенсионеров, бесконечно милых бомжей и не менее милых молодых людей в чёрных кожаных куртках и кепках-восьмиклинках.
А ещё в городе живёт дедушка. Точнее, жил до тех пор, пока его дом не снесли и не построили на его месте казино. Ничего удивительного, ведь казино городу намного нужнее, чем какой-то там дедушка. Против принципов рыночной экономики не попрёшь.
Поэтому дедушке пришлось переселиться в теплотрассу, проходящую прямо под городом. При всех своих недостатках, проживание в теплотрассе подразумевает бесплатное водоснабжение, отопление и вообще полное отсутствие квартплаты. Словом, дедушку ждёт достойная старость. Спасибо за это родному государству.
Но как бы ни была прекрасна жизнь в теплотрассе, временами дедушке всё же необходимо подниматься на поверхность и посещать один из нескольких важных пунктов. Иногда ему нужно убедиться в отсутствии бесплатных лекарств в поликлинике, запастись продовольствием на рыночной свалке, получить пенсию на почте или отдать эту пенсию внуку - как раз хватит на мороженое!
Задача
Теплотрасса была построена ещё при Сталине, и поэтому представляет собой прямой тоннель без ответвлений. Любая её точка характеризуется своим магистральным смещением. Магистральное смещение начала теплотрассы, расположенного под зданием городской администрации, равно нулю. Расстояние между любыми двумя точками теплотрассы вычисляется как модуль разности их магистральных смещений.
Так уж получилось, что теплотрасса проходит подо всеми N пунктами, посещаемыми дедушкой. Для каждого канализационного люка, ведущего из теплотрассы прямо в один этих пунктов, известно его магистральное смещение P[i]. Дедушка может вылезать из теплотрассы только через эти люки. Если он попытается вылезти через какой-нибудь другой люк, то бдительные милиционеры сразу же задержат его как опасного бомжа.
Дедушка уже старенький, и усилия, затрачиваемые им на преодоление некоторого расстояния, пропорциональны квадрату этого расстояния. Поэтому дедушка хотел бы жить в той точке теплотрассы, для которой среднее арифметическое усилий на достижение каждого из пунктов минимально.

Исходные данные
Первая строка содержит целое число N (1 ≤ N ≤ 1000). Вторая строка содержит N целых чисел P[i] (0 ≤ P[i] ≤ 106).

Результат
Вывести магистральное смещение искомой точки не менее чем с шестью знаками после десятичной точки. Если задача имеет несколько решений, то вывести любое из них.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.05.2013, 23:48     Задача на поиск максимума
Посмотрите здесь:

Поиск максимума - C++
Помогите пожалуйста в следующем вопросе. Имеется массив данных. Известно, что в массиве имеются локальные максимумы, и глобальные. ...

Поиск максимума и минимума - C++
Уважаемые форумчане помогите с задачей немогу понять как её зделать. Задание:N точек на площаде заданы своими координатами (xi,yi)....

Поиск максимума в массиве - C++
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;conio.h&gt; using namespace std; class first_arr{ int i; public: ...

Поиск максимума в массиве - C++
Всем доброго времени суток! Прошу помощи у форумчан, возникла проблема, не могу понять, как возвести элементы массива в куб. Задание звучит...

Поиск максимума в строках матрицы - C++
Здравствуй...Помги пожалуйста решить задачу..Что бы было простое решения,можно несколько решений и желательно простых.....(с полными...

поиск максимума в части двумерного массива - C++
Ребята, доброе время суток!!! За ранее благодарен кто откликнется!!! Дана квадратная матрица порядка n (n строк, n столбцов). ...

Поиск минимума и максимума в двумерном массиве - C++
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; using namespace std; int main() { int n; cin &gt;&gt; n; int *a = new int; for...

Поиск минимума и максимума в динамическом массиве указателей - C++
Вот функции минимума и максимума в шаблоне класса. Проблема в том, что меняется значение 1 элемента в динам. массиве указателей, и дальше...

поиск максимума в двумерном массиве, где ошибка - C++
// lab2_1.cpp: определяет точку входа для консольного приложения. // #include &quot;stdafx.h&quot; #include &lt;conio.h&gt; #include &lt;stdio.h&gt; ...

задача на тему Поиск. - C++
Дана матрица A. Произвести поиск элемента (последовательности элементов) по нечетным строкам матрицы. Помогите пожалуйста новичку!!!

Поиск в матрице, задача - C++
Итак форум ваш мне очень понравился по тому как мало людей которые дают ненужные советы, а только дельные слова. Сама проблема...

Задача на поиск цифр - C++
Помогите организовать поиск цифр из предложения, которые где есть цифры, буквы, символы. Как задать функцию этого поиска цифр? ...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
valeriikozlov
Эксперт C++
4669 / 2495 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
17.05.2013, 06:40     Задача на поиск максимума #2
Цитата Сообщение от BestIn Посмотреть сообщение
У меня компилируется в визуал 2010 и в 2012,но сайт(тимус)отказывается принимать,и выдет ошибку компилирования.
Что не так,почему сайт отказывается принимать?
Ошибку выдает из-за строки:
Цитата Сообщение от BestIn Посмотреть сообщение
C++
1
#include "StdAfx.h"
и отсутствие строки
C++
1
return 0;
в int main()
Почитайте здесь как правильно писать:
http://acm.timus.ru/help.aspx?topic=cpp
Кроме этой ошибки есть еще одна. Когда Вы сдаете задачу на проверку, то после компиляции на вход подаются какие-то значения, например для Вашей задачи: 2 0.
На выходе система проверки ждет: 1
А у Вас на выходе будет: 1 <= N <= 99999: 1
Разницу видите ) ?
Не нужно писать такие строки:
Цитата Сообщение от BestIn Посмотреть сообщение
C++
1
2
3
std::cout << "1 <= N <= "
 << IND_MAX 
 << ": ";
BestIn
0 / 0 / 0
Регистрация: 16.05.2013
Сообщений: 10
18.05.2013, 01:20  [ТС]     Задача на поиск максимума #3
valeriikozlov, Спасибо большое,я немного разобрался,задачу приняло))

Добавлено через 14 часов 40 минут
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
using namespace std;
 
int main() {
unsigned long long n,a,b,c,s;
int i;
unsigned long long  x[100001];
memset(x,0,sizeof(x));
cin>>n;
for (i=1;i<=n+1;i++)
{
cin>>a>>b>>c;
x[a]=x[a]+c;
x[b+1]=x[b+1]-c;
};s=0;
for (i=1;i<=n;i++)
{
s=s+x[i];
if (i==n) cout<<s<<endl; else
cout<<s<<" ";
}
}
Вот так решил "нереальную историю",сайт принял,но в моем компиляторе почему то не выдает результат.
valeriikozlov
Эксперт C++
4669 / 2495 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
18.05.2013, 02:13     Задача на поиск максимума #4
Цитата Сообщение от BestIn Посмотреть сообщение
но в моем компиляторе почему то не выдает результат.
какие значения вводите?
BestIn
0 / 0 / 0
Регистрация: 16.05.2013
Сообщений: 10
18.05.2013, 15:36  [ТС]     Задача на поиск максимума #5
Все разобался,это я сам затупил))
Нужна помощь с этой задачей
Кликните здесь для просмотра всего текста
Не успели жители Албании привыкнуть к свободе слова (более подробно эта история описана в задаче «Свобода слова»), как им на голову свалилась ещё и свобода выбора. В самом ближайшем будущем населению предстоит пережить первые в истории страны демократические президентские выборы.
О намерении бороться за высокий пост уже объявили два самых ярких албанских политика последних лет – либерал Мухаммед Тахир-оглы и его извечный оппонент консерватор Ахмед Касым-бей.
Задача
Следуя демократическим традициям, перед выборами оба кандидата развлекаются тем, что выливают друг другу на головы тонны грязи под одобрительные возгласы избирателей. Каждый кандидат при любом удобном случае произносит предвыборную речь, в которой обвиняет своего политического оппонента в коррупции, неуважении к старшим, пособничестве террористам и вообще всячески демонстрирует своё уважение к противнику. В результате выступления Мухаммеда и Ахмеда стали похожи друг на друга до такой степени, что избирателям теперь вообще до лампочки, за кого голосовать.
Этим хочет воспользоваться третий кандидат в президенты – председатель социалистической партии Албании товарищ Ктулху. Он поленился написать себе предвыборную речь, но между тем заметил, что некоторые фрагменты выступлений г-на Тахир-оглы и г-на Касым-бея полностью совпадают. Тогда тов. Ктулху решил взять самый длинный совпадающий фрагмент и сделать его своей предвыборной речью.
Исходные данные
Первая строка содержит целое число N (1 ≤ N ≤ 100000). Вторая строка содержит речь г-на Тахир-оглы. Третья строка содержит речь г-на Касым-бея. Каждая речь состоит из N заглавных латинских букв.
Результат
Вывести речь тов. Ктулху. Если задача имеет несколько решений, то вывести любое из них.
BestIn
0 / 0 / 0
Регистрация: 16.05.2013
Сообщений: 10
20.05.2013, 22:22  [ТС]     Задача на поиск максимума #6
Помогите с задачей пожалуйста,которая постом выше
Yandex
Объявления
20.05.2013, 22:22     Задача на поиск максимума
Ответ Создать тему
Опции темы

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