下記のような処理をスマートに書くとどうなるでしょうか
for (int i = 0; i< 100; i++){
if (i< 50){
for (int j = 0; j< 20; j++){
if (j< 10){
hoge[idx] = 1;
}else{
hoge[idx] = 2;
}

idx++;
}
}else{
for (int j = 0; j< 20; j++){
if (j< 10){
hoge[idx] = 3;
}else{
hoge[idx] = 4;
}

idx++;
}
}
}