赛时代码,本来能骗到80分的,结果1e9用不了,直接CE???
#include<bits/stdc++.h>
using namespace std;
int a[11000000];
int s[11]={6,2,5,5,4,5,6,3,7,6,1e9};
int main(){
int t;
cin>>t;
for(int i=1;i<=11000000;i++){
int k=i;
while(k){
a[i]+=s[k%10];
k=k/10;
}
}
while(t--){
int n;
cin>>n;
if(n==1)cout<<"-1\n";
else if(n%7==0){
for(int i=1;i<=n/7;i++)cout<<8;
cout<<endl;
}
else if(n%7==1)
{
cout<<10;
n-=8;
for(int i=1;i<=n/7;i++)cout<<8;
cout<<endl;
}
else {
for(int i=1;i<=11000000;i++){
if(n==a[i]){
cout<<i<<endl;
break;
}
}
}
}
return 0;
}