Submission #3195629


Source Code Expand

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
#define P pair<ll,ll>
#define FOR(I,A,B) for(ll I = (A); I < (B); ++I)
#define FORR(I,A,B) for(ll I = (B-1); I >= (A); --I)
#define SORT(x) (sort(x.begin(),x.end())) // 0 2 2 3 4 5 8 9
#define REV(x) (reverse(x.begin(),x.end())) //reverse
ll gcd(ll a,ll b){if(a<b)swap(a,b);if(a%b==0)return b;else return gcd(b,a%b);}
ll lcm(ll a,ll b){ll c=gcd(a,b);return ((a/c)*(b/c)*c);}//saisyo kobaisu
#define NEXTP(x) next_permutation(x.begin(),x.end())
const ll INF=1e18+7;
const ll MOD=1e9+7;


int main(){
	ios::sync_with_stdio(false);
	cin.tie(0);
	ll N,ans=0;
	cin>>N;
	ll ans52[53];
	ans52[0]=0;
	FOR(i,1,53)ans52[i]=2-(i&1);
	FOR(i,1,53)ans52[i]+=ans52[i-1];
	if(N<=52){
		cout << ans52[N] << endl;
	}else{
		ans = ans52[52];
		N -= 52;
		ll x = 25*26;
		ll y = 2;
		N-=x;
		ans += x*y;
		if(N<=0){
			ans -= abs(N)*y;
			cout << ans << endl;
			return 0;
		}




		ll k = 26*26*26;
		ll p = 3;
		while(1){
			N -= k;
			ans += p*k;
			if(N<=0){
				ans -= abs(N)*p;
				break;
			}
			k*=26;
			p++;
		}
		cout << ans << endl;
	}
}

Submission Info

Submission Time
Task A - しりとり
User kenta2997
Language C++14 (GCC 5.4.1)
Score 1
Code Size 1153 Byte
Status AC
Exec Time 1 ms
Memory 256 KB

Judge Result

Set Name sample all
Score / Max Score 0 / 0 1 / 1
Status
AC × 2
AC × 16
Set Name Test Cases
sample sample-01.txt, sample-02.txt
all sample-01.txt, sample-02.txt, 01-01.txt, 01-02.txt, 01-03.txt, 01-04.txt, 01-05.txt, 01-06.txt, 01-07.txt, 01-08.txt, 01-09.txt, 01-10.txt, 01-11.txt, 01-12.txt, sample-01.txt, sample-02.txt
Case Name Status Exec Time Memory
01-01.txt AC 1 ms 256 KB
01-02.txt AC 1 ms 256 KB
01-03.txt AC 1 ms 256 KB
01-04.txt AC 1 ms 256 KB
01-05.txt AC 1 ms 256 KB
01-06.txt AC 1 ms 256 KB
01-07.txt AC 1 ms 256 KB
01-08.txt AC 1 ms 256 KB
01-09.txt AC 1 ms 256 KB
01-10.txt AC 1 ms 256 KB
01-11.txt AC 1 ms 256 KB
01-12.txt AC 1 ms 256 KB
sample-01.txt AC 1 ms 256 KB
sample-02.txt AC 1 ms 256 KB