답안 #106170

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
106170 2019-04-17T01:08:11 Z sofhiasouza 수열 (BOI14_sequence) C++14
0 / 100
5 ms 384 KB
#include <bits/stdc++.h>
using namespace std;
int main()
{
	int k, a;
	string s;
	cin >> k;
	for(int i = 0 ; i < k ; i++) cin >> a;
	k--;
	stringstream ans;
	ans << k;
	ans >> s;
	if(k == 0 and a != 0) cout << a << endl;
	else if(a == 0)
	{
		int p = 0;
		for(int i = 1 ; i <= s.size() ; i++) p += pow(10, s.size() - i);
		if(k == 0) cout << 10 << endl;
		else if(p >= k+1) cout << pow(10, s.size()) << endl;
		else cout << pow(10, s.size()+1) << endl;
	}
	else if(a == 9)
	{
		int p = 0, p2 = 0;
		p2 += pow(10, s.size() - 1);
		for(int i = 2 ; i <= s.size() ; i++) p += pow(10, s.size() - i);
		p2 += p;
		if(s.size() == 1) cout << 89 << endl;
		else if(p + pow(10, s.size()-1) > k) cout << pow(10, s.size()-1)*9 - p << endl; 
		else cout << pow(10, s.size())*9 - p2 << endl;
	}
	else cout << pow(10, s.size())*a << endl;
}

Compilation message

sequence.cpp: In function 'int main()':
sequence.cpp:17:21: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   for(int i = 1 ; i <= s.size() ; i++) p += pow(10, s.size() - i);
                   ~~^~~~~~~~~~~
sequence.cpp:26:21: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   for(int i = 2 ; i <= s.size() ; i++) p += pow(10, s.size() - i);
                   ~~^~~~~~~~~~~
# 결과 실행 시간 메모리 Grader output
1 Incorrect 3 ms 384 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 2 ms 384 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 2 ms 256 KB Output is correct
2 Correct 4 ms 384 KB Output is correct
3 Correct 4 ms 256 KB Output is correct
4 Correct 3 ms 384 KB Output is correct
5 Incorrect 5 ms 256 KB Output isn't correct
6 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 2 ms 256 KB Output isn't correct
2 Halted 0 ms 0 KB -