Advertisement
Guest User

jojo

a guest
Nov 8th, 2012
133
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.86 KB | None | 0 0
  1. #include<iostream>
  2. using namespace std;
  3. int main() {
  4.     int i,n,row[10000],sbd=0,bd=0,prev=-1,md=0;
  5.     int curbl=0,cursbl=0,maxbl=0,maxsbl=0,curad=0,maxad=0;
  6.     cin>>n;
  7.     for (i=0;i<n;i++) {
  8.         cin>>row[i];
  9.         if (row[i]==1) {
  10.            if (sbd>0) {
  11.               cursbl++;
  12.               if (cursbl>maxsbl) maxsbl=cursbl;
  13.            }
  14.            if (bd>0 || bd==0) {
  15.               curbl++;
  16.               if (curbl>maxbl) maxbl=curbl;
  17.            }
  18.            bd++;
  19.            if (prev!=1 && md<=bd) {
  20.               md=bd;
  21.               prev=1;
  22.               curad++;
  23.               if (curad>maxad) maxad=curad;
  24.            }
  25.         }
  26.         if (row[i]==2) {
  27.            if (sbd>0) {
  28.               cursbl++;
  29.               if (cursbl>maxsbl) maxsbl=cursbl;
  30.            }
  31.            if (bd>0) {
  32.               curbl++;
  33.               if (curbl>maxbl) maxbl=curbl;
  34.            }
  35.            bd--;
  36.            if (bd==0) {
  37.               curad--;
  38.               curbl=0;
  39.            }
  40.         }
  41.         if (row[i]==3) {
  42.            if (bd>0) {
  43.               curbl++;
  44.               if (curbl>maxbl) maxbl=curbl;
  45.            }
  46.            if (sbd>0 || sbd==0) {
  47.               cursbl++;
  48.               if (maxsbl<cursbl) maxsbl=cursbl;
  49.            }
  50.            sbd++;
  51.            if (prev!=2 && md<=sbd) {
  52.               md=sbd;
  53.               prev=2;
  54.               curad++;
  55.               if (curad>maxad) maxad=curad;
  56.            }
  57.         }
  58.         if (row[i]==4) {
  59.            if (sbd>0) {
  60.               cursbl++;
  61.               if (cursbl>maxsbl) maxsbl=cursbl;
  62.            }
  63.            if (bd>0) {
  64.               curbl++;
  65.               if (curbl>maxbl) maxbl=curbl;
  66.            }
  67.            sbd--;
  68.            if (sbd==0) {
  69.               curad--;
  70.               cursbl=0;
  71.            }
  72.         }
  73.     }
  74.     cout<<maxad<<" "<<maxbl<<" "<<maxsbl;
  75. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement