Codeforces Round #584 - Dasha Code Championship - Elimination Round (rated, open for everyone, Div. 1 + Div. 2)

A

n个数字,如果是倍数关系,那么就是一组的,求最少要几组

#include 
#include 
#include 
#define rep(i,a,n) for(int i=a;i

B

给出一个数n表示灯的数
再给出灯的初始情况,1代表亮,0,代表灭
再给出变化情况,b,b+a,b+2*a。。。的时间的时候回改变状态,且会持续a个时间

accumulate()函数,就是循环求和函数,在numeric库里面

#include 
#include 
#include 
#include 
#define rep(i,a,n) for(int i=a;i=b[j]&&(i-b[j])%a[j]==0)f[j]^=1;//改变状态,f[i]记录每个时刻灯的情况,如果需要改变,就取异或0变1,1变0
        }
            ans=max(ans,accumulate(f,f+n,0));
    }
    printf("%d\n",ans);

    return 0;
}

你可能感兴趣的:(Codeforces Round #584 - Dasha Code Championship - Elimination Round (rated, open for everyone, Div. 1 + Div. 2))