提交时间:2024-08-19 21:09:00

运行 ID: 167948

#include<bits/stdc++.h> #define up(l,r,i) for(int i=l,END##i=r;i<=END##i;++i) #define dn(r,l,i) for(int i=r,END##i=l;i>=END##i;--i) using namespace std; typedef long long i64; const int INF =2147483647; int qread(){ int w=1,c,ret; while((c=getchar())> '9'||c< '0') w=(c=='-'?-1:1); ret=c-'0'; while((c=getchar())>='0'&&c<='9') ret=ret*10+c-'0'; return ret*w; } int n,a,b; int main(){ n=qread(); up(1,n,i){ int t=i,c[2]; c[0]=c[1]=0; while(t) ++c[t&1],t>>=1; if(c[1]>c[0]) ++a; else ++b; } printf("%d %d\n",a,b); return 0; }