Sunday, March 06, 2011

110203 Hartals

/**
* 110203 - Hartals
* @author BreakDark
* @version 1.0 beta
* --- RESUELTO --- :)
*/
import java.util.*;

public class Main {

public static void main(String[] args) {
int t; // para el numero de casos
int n; // numero de dias en la simulación
int p; // numero de partidos
int[] ph=new int[120]; // para metro hartal para cada partido
int i,j; // para los indices
int caso; // para controlar los casos
Scanner Lee; // para leer los datos
BitSet dia; // para controlar los dias que hay huelga
int aux; // auxiliar
int c; // contador de dias que se perderian

// Aqui inicia le programa
Lee=new Scanner(System.in);
t=Lee.nextInt();
caso=1;
while(caso<=t){
n=Lee.nextInt();
p=Lee.nextInt();
dia=new BitSet(3700);
for(i=0;i ph[i]=Lee.nextInt();
for(i=0;i aux=ph[i];
//empieza en domingo
for(j=aux;j<=n;j+=aux){
if(!dia.get(j)){
dia.set(j);
//
//System.out.println("j="+j);
//
}
}
}
// descartamos los dias viernes y sabado
for(j=6;j<=n;j+=7){
if(dia.get(j))
dia.set(j,false);
if(dia.get(j+1))
dia.set(j+1,false);
}
// contamos los dias
c=0;
for(j=1;j<=n;j++){
if(dia.get(j))
c++;
//
//System.out.print("i="+j+":"+dia.get(j)+",");
//
}
System.out.println(c);
caso++;
}

}

}

No comments: