• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

zad algorytmika - Temperatura

Object Storage Arubacloud
0 głosów
124 wizyt
pytanie zadane 27 maja 2023 w Algorytmy przez GallAnonim17 Nowicjusz (200 p.)
edycja 27 maja 2023 przez GallAnonim17

Mam takie zadanie:

Temperatura

Limit pamięci: 32 MB

W Bajtockim Instytucie Meteorologicznym (BIM) codziennie mierzy się temperaturę powietrza. Pomiaru dokonuje się automatycznie, po czym jest on drukowany. Niestety, tusz w drukarce dawno wysechł... Pracownicy BIM przekonali się o tym jednak dopiero, gdy Bajtocka Organizacja Meteorologiczna (BOM) zwróciła się z zapytaniem dotyczącym temperatury.

Na szczęście stażysta Bajtazar systematycznie notował temperatury wskazywane przez dwa zwykłe termometry okienne, znajdujące się na północnej i południowej ścianie budynku BIM. Wiadomo, że temperatura wskazywana przez termometr na południowej ścianie budynku nigdy nie jest niższa niż faktyczna, a wskazywana przez termometr na północnej ścianie budynku nigdy nie jest wyższa niż faktyczna. Nie wiadomo więc dokładnie, jaka danego dnia była temperatura, ale wiadomo, w jakim mieściła się przedziale.

Na szczęście, zapytanie BOM nie dotyczy dokładnych temperatur, a jedynie najdłuższego przedziału czasu, w którym temperatura była niemalejąca (tj. każdego kolejnego dnia była taka sama jak poprzedniego lub wyższa). Szef BIM wie, że BOM zależy na tym, aby znaleźć możliwie najdłuższy taki okres czasu. Postanowił więc zatuszować swoją wpadkę i polecił Bajtazarowi znaleźć, na podstawie jego notatek, najdłuższy taki przedział czasu, w którym temperatura mogła być niemalejąca. Bajtazar nie bardzo wie, jak sobie poradzić z tym zadaniem, więc poprosił Cię o napisanie programu, który znajdzie taki najdłuższy przedział czasu.

Wejście

W pierwszym wierszu standardowego wejścia znajduje się jedna liczba całkowita n (1 <= n <= 1000000) oznaczająca liczbę dni, przez które Bajtazar notował temperatury. Wyniki pomiarów z dnia i są zapisane w wierszu o numerze i+1. Każdy z takich wierszy zawiera dwie liczby całkowite x i y (-10^9 <= x <= y <= 10^9). Oznaczają one, odpowiednio, minimalną i maksymalną temperaturę, jaka mogła być danego dnia.

W pewnej liczbie testów, wartych łącznie 50 punktów, temperatury nigdy nie spadają poniżej -50 stopni i nigdy nie wzrastają powyżej 50 stopni (-50 <= x <= y <= 50).

Wyjście

W pierwszym i jedynym wierszu standardowego wyjścia Twój program powinien wypisać jedną liczbę całkowitą, oznaczającą maksymalną liczbę dni, przez które temperatura w Bajtocji mogła być niemalejąca.

Przykład

Dla danych wejściowych:

6
6 10
1 5
4 8
2 5
6 8
3 5

poprawną odpowiedzią jest:

4

Oto jest moj kod:

#include<bits/stdc++.h>

using namespace std;

int main(){
int n; cin >> n;
pair<int,int>* tab = new pair<int, int>[n]; 	
for(int i=0; i<n; i++){
	int x, y; cin >> x >> y;
	tab[i] = make_pair(x, y);
}
	
int wynik = 0;
int point = tab[0].first;
int start = 0;
for(int i=1; i<n; i++){
	if(tab[i].first >= point){
		point = tab[i].first;
	}
	else if(tab[i].second < point){
		wynik = max(wynik, i-start);
		start = i;
		point = tab[i].first;
	}
}
wynik = max(wynik, n-start);
cout << wynik << endl;
delete[] tab;	
return 0;	
}

Prosze o pomoc, gdyz nie jestem w stanie znalezc bledu.

1 odpowiedź

+1 głos
odpowiedź 27 maja 2023 przez Whistleroosh Maniak (56,980 p.)
wybrane 28 maja 2023 przez GallAnonim17
 
Najlepsza

Dosłownie 5 dni temu był post,  w którym było powiedziane, że tak nie da się rozwiązać tego zadania. Trzeba skorzystać z kolejki monotonicznej

Podobne pytania

0 głosów
2 odpowiedzi 167 wizyt
pytanie zadane 29 października 2023 w C i C++ przez VNC Nowicjusz (240 p.)
0 głosów
2 odpowiedzi 254 wizyt
pytanie zadane 10 listopada 2016 w Algorytmy przez BlueWee Użytkownik (730 p.)
0 głosów
1 odpowiedź 404 wizyt
pytanie zadane 8 listopada 2016 w Algorytmy przez Lunatyk Początkujący (420 p.)

92,576 zapytań

141,425 odpowiedzi

319,650 komentarzy

61,961 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...