Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <cstdio>
- #include <stdlib.h>
- using namespace std;
- int main() {
- int amountofcases;
- cin >> amountofcases;
- int i = 0;
- while (i < amountofcases) {
- int amountofFloors;
- int sizeofFloor;
- cin >> amountofFloors;
- int sizeofFloors[amountofFloors];
- string coloursofFloors[amountofFloors];
- i++;
- for (int i = 0; i < amountofFloors; i++) {
- cin >> sizeofFloor;
- if (sizeofFloor > 0) {
- sizeofFloors[i] = sizeofFloor;
- coloursofFloors[i] = "blue";
- } else {
- sizeofFloors[i] = sizeofFloor*(-1);
- coloursofFloors[i] = "red";
- }
- }
- for (int i = 0; i < amountofFloors; i++) {
- int floorSize = sizeofFloors[i];
- string colourSize = coloursofFloors[i];
- int previousfloorSize = i - 1;
- while (previousfloorSize >= 0 && sizeofFloors[previousfloorSize] < floorSize) {
- sizeofFloors[previousfloorSize + 1] = sizeofFloors[previousfloorSize];
- coloursofFloors[previousfloorSize + 1] = coloursofFloors[previousfloorSize];
- previousfloorSize--;
- }
- sizeofFloors[previousfloorSize + 1] = floorSize;
- coloursofFloors[previousfloorSize + 1] = colourSize;
- }
- int maxsize = 0;
- int temp = -1;
- for (int i = 0; i < amountofFloors-1; i++){
- if (coloursofFloors[i] != coloursofFloors[i+1]) {
- if ((i == 0) || (maxsize == 0)) {
- maxsize++;
- maxsize++;
- } else {
- maxsize++;
- }
- } else {
- if (maxsize == 0) {
- } else if (maxsize > 0) {
- if (maxsize > temp) {
- temp = maxsize;
- }
- maxsize = 0;
- }
- }
- }
- if (maxsize > temp) {
- cout << maxsize << endl;
- } else {
- cout << temp << endl;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement