为什么O2优化这么坑。。
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
int N,M;
typedef long long ll;
ll C[35][35],I,D[35][35];
int main(){
scanf("%d%d",&N,&M);
cin>>I;
for(int i=0;i<=N;i++)D[i][0]=1;
for(int i=1;i<=N;i++)
for(int j=0;j<=i;j++)
D[i][j]=D[i-1][j-1]+D[i-1][j];
for(int i=0;i<=N;i++)
for(int j=0;j<=i;j++)
for(int k=0;k<=j;k++)
C[i][j]+=D[i][k];
I--;
for(int i=N;i>=1;i--){
if(C[i-1][min(M,i-1)]<=I&&I){
printf("1");
I-=C[i-1][min(M,i-1)];
M--;
}else printf("0");
}
printf("\n");
return 0;
}