Pagini recente » Cod sursa (job #1714700) | Cod sursa (job #911746) | Cod sursa (job #119077) | Cod sursa (job #1332690) | Cod sursa (job #355992)
Cod sursa(job #355992)
#include<stdio.h>
const int N=200002;
int n,v[N],r;
bool a1,a2;
void read()
{
int x;
scanf("%d",&n);
for( int i=0 ; i<n ; ++i )
{
scanf("%d",&v[i]);
x=v[i]%3;
r+=x;
if(x==1)
a1=true;
else if(x==2)
a2=true;
}
}
void solve()
{
if(r%3==0)
{
printf("%d\n",n);
return;
}
if(r%3==1)
{
if(a1==true)
{
printf("%d\n",n-1);
for( int i=0 ; i<n ; ++i )
if( v[i]%3==1 )
{
printf("%d ",v[i]);
return;
}
}
printf("%d\n",n-2);
int x=2;
for( int i=0 ; i<n && x ; ++i )
if( v[i]%3==2 )
{
printf("%d ",v[i]);
x--;
}
return;
}
else
{
if(a2==true)
{
printf("%d\n",n-1);
for( int i=0 ; i<n ; ++i )
if( v[i]%3==2 )
{
printf("%d ",v[i]);
return;
}
}
printf("%d\n",n-2);
int x=2;
for( int i=0 ; i<n && x ; ++i )
if( v[i]%3==1 )
{
printf("%d ",v[i]);
x--;
}
return;
}
}
int main()
{
freopen("trei.in","r",stdin);
freopen("trei.out","w",stdout);
read();
solve();
return 0;
}