Advertisement
Guest User

Untitled

a guest
May 25th, 2019
96
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.53 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stack>
  3. using namespace std;
  4. struct Wiadro {
  5. public:
  6.     int promien;
  7.     int wysokosc;
  8.     int podloga;
  9. };
  10. int main()
  11. {
  12.     int ileZbiorow;
  13.     scanf("%d", &ileZbiorow);
  14.     for(int i = 0; i < ileZbiorow; i++){
  15.         int licznik=0,ileWiader=0,maxWymiar=0;
  16.         stack<Wiadro> wieza;
  17.         scanf("%d", &ileWiader);
  18.         for(int j=0;j<ileWiader;j++){
  19.             Wiadro wiadro;
  20.             scanf("%d", &wiadro.promien);
  21.             scanf("%d", &wiadro.wysokosc);
  22.             int max=-1, suma;
  23.             if(licznik > 0){
  24.                 if (wieza.top().promien > wiadro.promien) {
  25.                     wiadro.podloga = wieza.top().podloga;
  26.                     wieza.push(wiadro);
  27.                     licznik++;
  28.                 }
  29.                 else {
  30.                     while(licznik > 0 &&  wieza.top().promien <= wiadro.promien){
  31.                         suma = wieza.top().wysokosc + wieza.top().podloga;
  32.                         if(suma>max) max = suma;
  33.                         wieza.pop();
  34.                         licznik--;
  35.                     }
  36.                     wiadro.podloga = max;
  37.                     wieza.push(wiadro);
  38.                     licznik++;
  39.                 }
  40.             } else {
  41.                 wiadro.podloga = 0;
  42.                 licznik++;
  43.                 wieza.push(wiadro);
  44.             }
  45.             suma=wiadro.podloga+wiadro.wysokosc;
  46.             if(maxWymiar<suma) maxWymiar=suma;
  47.         }
  48.         printf("%d \n", maxWymiar);
  49.     }
  50.     return 0;
  51. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement