/ SeriousOJ /

Record Detail

Accepted


  
# Status Time Cost Memory Cost
#1 Accepted 1ms 540.0 KiB
#2 Accepted 18ms 1.004 MiB
#3 Accepted 17ms 928.0 KiB
#4 Accepted 18ms 1.027 MiB
#5 Accepted 18ms 1.047 MiB
#6 Accepted 20ms 928.0 KiB
#7 Accepted 30ms 796.0 KiB
#8 Accepted 21ms 588.0 KiB
#9 Accepted 6ms 488.0 KiB
#10 Accepted 6ms 496.0 KiB
#11 Accepted 16ms 840.0 KiB
#12 Accepted 21ms 924.0 KiB
#13 Accepted 16ms 1.004 MiB
#14 Accepted 20ms 924.0 KiB
#15 Accepted 18ms 924.0 KiB
#16 Accepted 17ms 1.027 MiB
#17 Accepted 18ms 920.0 KiB

Code

#include<bits/stdc++.h>
using namespace std;
#define fast ios_base::sync_with_stdio(false);cin.tie(0);cout.tie(0);
#define dbg(a,b,c,d) cerr<<a<<"  "<<b<<"  "<<c<<"  "<<d<<endl;
#define kill(a) {cout<<a<<endl;continue;}
#define KILL(a) {cout<<a<<endl;return 0;}
#define debug cerr<<"Error Found"<<endl;
#define mem(a,b) memset(a,b,sizeof(a))
#define lcm(a, b) (a/__gcd(a,b))*b
#define w(t) cin>>t;while(t--)
#define pi  2 * acos(0.0)
#define endl "\n"
int t, cs = 0;
const int mxn = 2e5 + 3, mod = 1e9 + 7;

int32_t main()
{
   w(t)
   {
       int n;
       cin >> n;
       int ar[n];
       for(int i = 0; i < n; i++)cin >> ar[i];
       int mx = 0, last = n + 1;
       bool f = false;
       for(int i = 0; i < n; i++)
       {
           if(ar[i] == 3) mx = max(mx, i - last + 1);
           else if(ar[i] == 2)f = false, last = n + 1;
           else if(ar[i] == 1)
           {
               if(!f)last = i;
               f = true;
           }
       }
       cout << mx << endl;
   }
}

Information

Submit By
Type
Submission
Problem
P1036 Perfect subarray
Language
C++17 (G++ 13.2.0)
Submit At
2024-11-12 13:44:49
Judged At
2024-11-12 13:44:49
Judged By
Score
100
Total Time
30ms
Peak Memory
1.047 MiB