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

Требуется для каждого положения “окна” определить минимум в нём - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Переопределение операции присваивания http://www.cyberforum.ru/cpp-beginners/thread1235642.html
Есть вот такой класс: #ifndef cd_h #define cd_h class Cd { private: char* performance; char* label; int selections;
C++ Как реализовать флаги в параметрах функции Объясните пожалуйста как реализовать флаги в параметрах функции. К примеру: есть такие флаги left middle right drowPoints (тут параметры флаги); Вот так я эти флаги прописываю http://www.cyberforum.ru/cpp-beginners/thread1235623.html
Исправить ошибку "undefined reference" C++
Компилирую в Ubuntu 14.04 Code::Block Есть 3 файла. klass.h initial.cpp main.cpp klass.h #include <iostream> #include <cstring> using namespace std; class Book
C++ Убрать привязку к конкретной директории. GetCurrentDirectory
Привет, всем! Новая проблемка, имеется следующее: D3DXCreateTextureFromFileEx(pDirect3DDevice, "C:/Users/Anton/Documents/Visual Studio 2010/Projects/MyProgectSprite/OpeningScreen.bmp", D3DX_DEFAULT, D3DX_DEFAULT, D3DX_DEFAULT, 0, D3DFMT_UNKNOWN, D3DPOOL_MANAGED, D3DX_DEFAULT, D3DX_DEFAULT, D3DCOLOR_ARGB(255,255,255,255), NULL, NULL, &openingTexture); Мне не нравится строка...
C++ Программа ввода и проверки пароля http://www.cyberforum.ru/cpp-beginners/thread1235579.html
Я хочу написать программу запрашивающая пароль пока тот не станет верным написал прогоамма работало но даже если пароль был не верен просто выводила другую строку добавил цикл программа не работает вот код #include <iostream.h> #include <stdio.h> #include <locale> using namespace std; int hacerAlert () { string answer;
C++ Игра крестики нолики #include <iostream> using namespace std; int main () { int a,k=0,c; char mas; while(k<10) { подробнее

Показать сообщение отдельно
nurs888
0 / 0 / 0
Регистрация: 21.07.2014
Сообщений: 8
29.07.2014, 09:05     Требуется для каждого положения “окна” определить минимум в нём
помогите пожалуйста решить задачу

Рассмотрим последовательность целых чисел длины N. По ней с шагом 1 двигается “окно” длины K, то есть сначала в “окне” видно первые K чисел, на следующем шаге в “окне” уже будут находиться K чисел, начиная со второго, и так далее до конца последовательности. Требуется для каждого положения “окна” определить минимум в нём.

Формат входных данных

В первой строке входных данных содержатся два числа N и K (1 ≤ N ≤ 150000, 1 ≤ K ≤ 10000, K ≤ N) – длины последовательности и “окна”, соответственно. На следующей строке находятся N чисел – сама последовательность.

Формат выходных данных

Выходые данные должны содержать N − K + 1 строк – минимумы для каждого положения “окна”.
Пример

Входные данные

Выходные данные

7 3
1 3 2 4 5 3 1

1
2
2
3
1

вот нерабочий код, что нужно исправить?
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
#include <iostream>
using namespace std;
    int a[1000000];
    int n;
    int heap_size=0;
 
void heapify(int i){
    int l=2*i,r=2*i+1;int largest=i;
    if(l<=heap_size &&a[l]>a[largest])largest=l;
    if(r<=heap_size &&a[r]>a[largest])largest=r;
    if(largest!=i){
        swap(a[largest],a[i]);
        heapify(largest);
    }
}
 
void build_heap(){
    for(int i=n/2;i>=1;i--)
        heapify(i);
}
 
void heapsort(){
    build_heap();
    while(heap_size>1){
        swap(a[1],a[heap_size]);
        heap_size--;
        heapify(1);
    }
}
void insert(int x){
    heap_size++;
    a[heap_size]=x;
    int n=heap_size;
    while(n!=1){
        if(a[n]>a[n/2]){
            swap(a[n],a[n/2]);
            n/=2;
        }
        else break;
    }
}
int extract(){
    int answer=a[1];
    swap(a[1],a[heap_size]);
    heap_size--;
    heapify(1);
    return answer;
}
int main(){
    
    int x,y;
    cin>>x>>y;
    x=y;
    int arr[n+11];
    heap_size=y;
    for(int i=1;i<=x;i++){
        cin >> arr[i];}
    for(int i=1;i<=x-y+1;i++){
    for(int j=1;j<=y;j++){
    a[j]=-(arr[j+i-1]);
    }
    build_heap();
    cout<<a[1]<<" ";
    }
    
    
return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 08:20. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru