1462C - Unique Number - CodeForces Solution


brute force greedy math *900

Please click on ads to support us..

Python Code:

l=[]
ans=["","","","","","","","",""]
for j in range(8,-1,-1):
    for i in range(1,j+2):
        ans[j]=str(i)
        l.append("".join(ans))
for j in range(int(input())):
	n=int(input())
	if n>45:
		print(-1)
	else:
		print(l[n-1])

C++ Code:

#include<bits/stdc++.h>
using namespace std;
int main(){
	int t;
	cin>>t;
	while(t--){
		int n;
		cin>>n;
		int power=1;
		int k=0;
		for(int i=9;i>=1;i--){
			if(n>=i){
				n-=i;
				k=k+i*power;
				power*=10;
			}
		}
		if(n==0){
			cout<<k<<endl;
		}
		else{
			cout<<-1<<endl;
		}
	}
}


Comments

Submit
0 Comments
More Questions

1424M - Ancient Language
600C - Make Palindrome
1669D - Colorful Stamp
1669B - Triple
1669A - Division
1669H - Maximal AND
1669E - 2-Letter Strings
483A - Counterexample
3C - Tic-tac-toe
1669F - Eating Candies
1323B - Count Subrectangles
991C - Candies
1463A - Dungeon
1671D - Insert a Progression
1671A - String Building
1671B - Consecutive Points Segment
1671C - Dolce Vita
1669G - Fall Down
4D - Mysterious Present
1316B - String Modification
1204A - BowWow and the Timetable
508B - Anton and currency you all know
1672A - Log Chopping
300A - Array
48D - Permutations
677C - Vanya and Label
1583B - Omkar and Heavenly Tree
1703C - Cypher
1511C - Yet Another Card Deck
1698A - XOR Mixup