Go: package main

import (
	"bufio"
	"fmt"
	"os"
	"strconv"
	"strings"
)

func main() {

	sc := bufio.NewScanner(os.Stdin)
	sc.Scan()
	ma, _ := strconv.Atoi(sc.Text())

	sc.Scan()
	args := strings.Split(sc.Text(), " ")

	value := []int{}
	for _, v := range args {
		a, _ := strconv.Atoi(v)
		value = append(value, a)

	}
	ans(ma, value)

}

func ans(n int, value []int) {

	max := 0
	cnt := 0

	for i := 0; i < n; i++ {

		if value[i] == 1 {
			cnt++
		} else {
			if cnt > max {
				max = cnt
			}
			cnt = 0
		}
	}

	if cnt > max {
		max = cnt
	}

	fmt.Printf("%d\n", max+1)
}

C++: #include<iostream>
#include<vector>
using namespace std;

int main(void){
    int n;
    vector<int> a;
    int max = 0, cnt = 0;

    cin >> n;
    a.resize(n);

    for(int i = 0; i < n; i++){
        cin >> a[i];
    }

    for(int i = 0; i < n; i++){
        if(a[i] == 1){
            cnt++;
        }else{
            if(max < cnt) max = cnt;
            cnt = 0;
        }
        if(max < cnt) max = cnt; 
    }
    cout << max+1 << endl;
}

C++: #include<iostream>
#include<algorithm>
#include<string>
#include<functional>
#include<utility>
#include<stack>
#include<queue>
#include<cmath>
#include<list>
#include<cstdint>
#include<vector>
#include<map>
#include<deque>
#define rep(i,rept)	for(int i = 0; i<(ll)rept;++i)
typedef long long ll;
using namespace std;


int main() {

	int n = 0;
	cin >> n;
	int a[100] = {};
	rep(i, n) {
		cin >> a[i];
	}

	int count = 0, ans = 0;

	rep(i, n) {

		if (a[i] == 1) {
			count++;
		}
		else {
			count = 0;
		}
		ans = std::max(ans, count);
	}

	cout << ans + 1 << endl;

}

C++: #include<iostream>
#include<algorithm>
#include<vector>
#include<queue>
#define lol(i,n) for(int i=0;i<n;i++)
#define mod 1000000007
typedef long long ll;

using namespace std;

int main(){
    int n,a,cnt=0,ans=0;
    cin>>n;
    lol(i,n){
	cin>>a;
	if(a==1)cnt++;
	if(a==0)ans=max(ans,cnt),cnt=0;
    }
    cout<<max(ans,cnt)+1<<endl;
    return 0;
}

C++: #include <iostream>
using namespace std;

int main() {
	
	int n;
	int A[100];
	int max1 = 0,now1 = 0;
	cin >> n;
	for(int i=0; i!=n; i++){
		cin >> A[i];
		if(A[i] == 1){
			now1 += 1;
			if(max1 < now1){
				max1 = now1;
			}
		}else{
			now1 = 0;
		}
	}
	cout << max1+1 << '\n';
	return 0;
}

C++: // http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=0642



#include<iostream>
 using namespace std; //標準名前空間を使用


    int main(){

    int sugorokunomasu[110] ;
    int N ;
    int saidairenzokusuucount = 0 ; // 1の最大連続数カウント
    int saidairenzokusuucountmax = 0 ; // 1の最大連続数の最大値

    cin >> N ;

    cin >> sugorokunomasu[1] ; //最初のマスの読み込み

            for (int i = 2 ; i <= N ; i = i + 1 ){
             cin >> sugorokunomasu[i] ; //すごろくのマスの読み込み

                    if(sugorokunomasu[i] == 1){ // すごろくのマスに1が出てきた場合


                        saidairenzokusuucount =  saidairenzokusuucount + 1 ; //そうでなければ、1の最大連続数カウントに1を+


                        // 1の最大連続数の最大値を更新されているかの判定
                        if(saidairenzokusuucount > saidairenzokusuucountmax) 
                        { 
                        saidairenzokusuucountmax = saidairenzokusuucount ; //更新されていれば、1の最大連続数の最大値を更新
                        }else{
                        //最大値を更新しない場合は何もしない
                        }
                        


                    }else{ //すごろくのマスに0が出てきた場合

                        // 1の最大連続数の最大値を更新されているかの判定
                        if(saidairenzokusuucount > saidairenzokusuucountmax) 
                        { 
                        saidairenzokusuucountmax = saidairenzokusuucount ; //更新されていれば、1の最大連続数の最大値を更新
                        saidairenzokusuucount = 0 ; //1の最大連続数カウントをフラッシュして0に
                        }else{
                        //最大値を更新しない場合は何もしない
                        saidairenzokusuucount = 0 ; //1の最大連続数カウントをフラッシュして0に
                        }

                    
                    
                    }

                


            }


    cout << saidairenzokusuucountmax + 1 << endl ;

    /* デバッグ用
    cout << sugorokunomasu[1] ;
    cout << sugorokunomasu[2] ;
    cout << sugorokunomasu[3] ;
    cout << sugorokunomasu[4] ;
    cout << sugorokunomasu[5] ;
    */

    }

C++: #include <iostream>
#include <vector>
#include <string>
#include <set>
#include <map>
#include <queue>
#include <deque>
#include <algorithm>
#include <cmath>
#define rep(i,j,k) for(int i=(int)j;i<(int)k;i++)
using namespace std;

int main(void){
    int n;
    cin>>n;
    vector<int> v(n);
    rep(i,0,n)cin>>v[i];
    
    int ans=0,ct=0;
    rep(i,0,n){
        if(v[i]==1){
            ct=1;
            while(i+1<n && v[i]==v[i+1]){
                ct++;
                i++;
            }
            ans=max(ans,ct);
        }
    }
    cout<<ans+1<<endl;
    
    
    
    
    return 0;
}

C++: 5#include <iostream>
using namespace std;
int main(void){
    int N, i, a, b, c, d, x=1, y=0;
    int bm, dm, as;

    cin >> N;
    for (i = 0;i < N; i++) {
        cin >> a;
        if (a == 0) x = 0;
        x++;
        if (x > y) y = x;
    }

    cout << y << endl;
    return 0;
}

C++: // http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=0642



#include<iostream>
 using namespace std; //標準名前空間を使用


    int main(){

    int sugorokunomasu[1000] ;
    int N ;
    int saidairenzokusuucount ; // 1の最大連続数カウント
    int saidairenzokusuucountmax ; // 1の最大連続数の最大値

    cin >> N ;


            for (int i = 0; i <= N ; i = i + 1 ){
             cin >> sugorokunomasu[i] ; //すごろくのマスの読み込み

                    if(sugorokunomasu[i] == 1){ // すごろくのマスに1が出てきた場合
                        saidairenzokusuucount =  saidairenzokusuucount + 1 ; //1の最大連続数カウントに1を+

                    }else{ //すごろくのマスに0が出てきた場合

                        if(saidairenzokusuucount > saidairenzokusuucountmax) // 1の最大連続数の最大値を更新されているかの判定
                        { 
                        saidairenzokusuucountmax = saidairenzokusuucount ; //更新されていれば、1の最大連続数の最大値を更新
                        }else{
                        //最大値を更新しない場合は何もしない
                        }

                    saidairenzokusuucount = 0 ; //1の最大連続数カウントをフラッシュして0に
                    
                    }

                


            }


    cout << saidairenzokusuucountmax + 1 << endl ;
    }

C++: #include<iostream>;
#include<algorithm>;
using namespace std;

int main()
{
	//2.すごろく	
	int n;
	cin >> n;
	int A, _A = 1;
	int k = 0;
	int A_count[100];
	A_count[0] = 1;
	for (int i = 0; i < n; i++)
	{
		cin >> A;
		if (A == 1)
		{
			if (A == _A)
			{
				A_count[k]++;
			}
			else
			{
				k++;
				A_count[k] = 2;
			}
		}
		_A = A;
	}
	sort(A_count, A_count + k + 1);
	cout << A_count[k] << endl;

	return 0;
}

C++: #include <bits/stdc++.h>
using ll = long long;
using namespace std;
#define _overload3(_1, _2, _3, name, ...) name
#define _rep(i, n) repi(i, 0, n)
#define repi(i, a, b) for(int i = int(a); i < int(b); ++i)
#define rep(...) _overload3(__VA_ARGS__, repi, _rep, )(__VA_ARGS__)
const long long INFLL = 1LL << 60;
const int INFINT = 1 << 30;
const long long MOD = 1e9 + 7;

template <class T> void vecout(T V) {
    auto t = V.begin();
    while(t != V.end()) {
        cout << *t++;
        if(t != V.end()) cout << " ";
    }
    cout << endl;
};

int main() {
    int N, t, c = 1, m = 0;
    cin >> N;
    rep(i, N) {
        cin >> t;
        if(t)
            c++;
        else {
            m = max(m, c);
            c = 1;
        }
    }
    m = max(m, c);
    cout << m << endl;
}

C++: #include<cstdio>
#include<functional>
#include<algorithm>
int main(void)
{
	int n,a[100],i,cnt,mx;
	scanf("%d",&n);
	for(i=0;i<n;i++)	scanf("%d",&a[i]);
	cnt=1;mx=1;
	for(i=0;i<n;i++)	{
		if(a[i]==1){
			cnt++;
			if(mx<cnt)	mx=cnt;
		}
		else{
			cnt=1;
		}
	}
	printf("%d\n",mx);
	return 0;
}