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

Последовательность - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Выведите все содержимое параметров операционной системы http://www.cyberforum.ru/cpp-beginners/thread376173.html
Выведите все содержимое параметров операционной системы, переданных main()
C++ Задача с односвязным и двухсвязным списком (сортировка). Условие: Структура содержит название издания, газета или журнал, цена экземпляра. Добавлять новые издания так, чтобы названия были упорядочены по алфавиту. Выполнить в двух вариантах, с односвязным и двухсвязным. Help! Добавлено через 5 часов 3 минуты up. Заранее спасибо http://www.cyberforum.ru/cpp-beginners/thread376165.html
C++ заменить каждую точку многоточием
Здравствуйте, помогите решить задачу с массивами и строками. Тема:массивы и строки. "В предложении заменить каждую точку многоточием."
Определить номера строк прямоугольной матрицы, содержащие только отрицательные элементы. C++
Здравствуйте, помогите решить задачу с массивами и строками. Тема: Массивы и Строки. Определить номера строк прямоугольной матрицы, содержащие только отрицательные элементы.
C++ Помогите пожалуйста Сколько раз в тексте встречается каждое слово? на Cи http://www.cyberforum.ru/cpp-beginners/thread376156.html
Помогите пожалуйста Сколько раз в тексте встречается каждое слово? на Cи
C++ list iterator template пишу в хэдере #include <list> using namespace std; template <class T> struct Transition { list<T>::iterator it; }; ошибки при компиляции подробнее

Показать сообщение отдельно
Mr.X
Эксперт С++
3042 / 1687 / 265
Регистрация: 03.05.2010
Сообщений: 3,867
03.11.2011, 13:00     Последовательность
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
/////////////////////////////////////////////////////////////////////////////////////////
//Дана последовательность N целых чисел A[1], A[2], ..., A[N]. 
//Подпоследовательность называется красивой, если любые два ее элемента имеют 
//разность индексов в первоначальной последовательности не менее D.
//Формально, пусть A[i1], A[i2], ..., A[ik] - подпоследовательность длины k, 
//тогда она будет красивой, если i2 - i1 >= D и i3 - i2 >= D и ... и ik - ik-1 >= D.
//Найдите максимальную сумму элементов среди всех красивых подпоследовательностей 
//заданной последовательности.
//
//Входные данные
//В первой строке входного файла заданы натуральные числа N и D (2 <= N <= 1000; 1 <= D <= N - 1). 
//В следующей строке находятся N целых чисел A[i] (1 <= A[i] <= 10000).
//
//Выходные данные
//В результирующем файле должно находится искомое целое число.
//
//Пример
//
//Ввод
//5 3
//4 2 5 1 7
//
//Вывод
//11
/////////////////////////////////////////////////////////////////////////////////////////
#include <iostream>
#include <vector>
/////////////////////////////////////////////////////////////////////////////////////////
typedef std::vector<int>  T_array;
/////////////////////////////////////////////////////////////////////////////////////////
int   get_maximum_total_of_beautiful_subsequence
    (
        T_array  arr,
        int      d
    )
{
    int  res      = 0;
    int  cur_max  = 0;    
    for(size_t  i = d; i < arr.size(); ++i)
    {
        if(arr[i - d] > cur_max)
        {
            cur_max = arr[i - d];
        }
        arr[i] += cur_max;
        if(arr[i] > res)
        {
            res = arr[i];
        }
    }
    return  res;
}
/////////////////////////////////////////////////////////////////////////////////////////
int main()
{
    std::locale::global(std::locale(""));   
    std::cout << "Введите минимальную разность индексов:"
              << '\t';
    int  d = 0; 
    std::cin >> d;
 
    std::cout << "Введите длину последовательности:"
              << '\t';
    int  n = 0; 
    std::cin >> n;
 
    std::cout << std::endl
              << "Введите "
              << n
              << " натуральных чисел:"
              << std::endl;
 
    T_array  arr(n);
    for(int  i = 0; i < n; ++i)
    {
        std::cout << "#"
                  << i + 1
                  << ":"
                  << '\t';
        
        std::cin >> arr[i];
    }
 
    std::cout << std::endl
              << "Максимальная сумма элементов подпоследовательности с разностью индесов"
              << std::endl
              << "соседних элементов не меньше "
              << d
              << " равна "
              << get_maximum_total_of_beautiful_subsequence(arr, d)
              << "."
              << std::endl
              << std::endl;
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru