답안 #337967

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
337967 2020-12-22T08:01:39 Z amunduzbaev 홀-짝 수열 (IZhO11_oddeven) C++14
0 / 100
1 ms 364 KB
/** made by amunduzbaev **/
#include <bits/stdc++.h>
using namespace std;
#define ff first
#define ss second
#define pb push_back
#define mp make_pair
#define ub upper_bound
#define lb lower_bound
#define ll long long 
#define ld long double 
#define pii pair<int, int>
#define pll pair<ll, ll>
#define sz(x) (int)x.size()
#define all(x) x.begin(), x.end()
#define rall(x) x.rbegin(),x.rend()
#define fastios ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
#define vll vector<ll>
#define vii vector<int>
const int N = 305;
const int mod = 1e9+7;
const ll inf = 1e18;
const ld Pi = acos(-1);
ll n, m, lsz, k, last, szz, timer;
bool ok;

int sss(ll last){ 
	ll res = 0; 
	while(last){ res++, last /= 10; } 
	return res; 
}

void fun(ll prev, ll nw){
	while(prev < nw){
		szz += sss(prev);
		prev += 2;
	}
}

void solve(){
	fastios 
	cin>>n;
	ll i=2;
	last = 1, szz = 1;
	ll prevl = 0;
	while(szz < n){
		prevl = last;
		last += (i*2)-1;
		//cout<<last<<" "<<prev<<endl;
		if(sss(prevl) < sss(last)) fun(prevl+1, last);
		else szz += (last - prevl +1)/2 * sss(prevl);
		//cout<<szz<<endl;
		i++;
		//cout<<i<<endl;
	}cout<<i<<endl;
	cout<<szz<<" "<<prevl<<" "<<last<<endl;
	if(szz == n) cout<<last%10<<endl;
	else{
		for(;szz > n && prevl < last; last -= 2) szz -= sss(last);
		///cout<<szz<<" "<<prevl<<" "<<last<<endl;
		if(szz == n) cout<<last%10<<endl;
		else{
			ll ans = 0;
			while(szz > n) szz--, ans = last%10, last/=10;
			cout<<ans;
		}
	}
	return;
}

int main(){
	fastios
	int t = 1;
	if(t) solve();
	else {
		cin>>t;
		while (t--) solve();
	}
	return 0;
}
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 364 KB Output isn't correct
2 Halted 0 ms 0 KB -