Pagini recente »
balaur
|
Monitorul de evaluare
|
Istoria paginii runda/lasm_25_05_2022_cl10_11
|
Istoria paginii runda/infoabc_incepatori
|
Cod sursă (job #415879)
Cod sursă (job
#415879)
#include <fstream>
using namespace std;
unsigned v[50005];
ifstream in("beculete.in");
ofstream out("beculete.out");
int n,d,l,c,val,valfin;
int valoare(int x)
{
return (v[x>>5]>>(x&31))&1;
}
void prim(int x,int bit)
{
unsigned mask=~(1<<(x&31));
v[x>>5]=(v[x>>5]&mask)^(bit<<(x&31));
}
void transf(int n)
{
for(int i=n/32+1; i>=1; i--)
{
v[i]^=v[i]<<1;
v[i]^=v[i-1]>>31;
}
v[0]^=v[0]<<1;
}
int main()
{
in>>n>>d;
prim(0,1);
for(int i=1; i<n; i++)
{
valfin=valoare(i-1);
transf(i);
prim(i,valfin);
while(l<=i)
{
if(l==i)
prim(c,val);
if(d)
{
in>>l>>c>>val;
l--;
c--;
d--;
}
else
l=n;
}
}
for(int i=0; i<n; i++)
out<<valoare(i)<<' ';
return 0;
}