Submission #3780797


Source Code Expand

#include<bits/stdc++.h>
using namespace std;
#define _overload3(_1,_2,_3,name,...) name
#define _rep(i,n) repi(i,0,n)
#define repi(i,a,b) for(int i=int(a);i<int(b);++i)
#define rep(...) _overload3(__VA_ARGS__,repi,_rep,)(__VA_ARGS__)
#define all(x) (x).begin(),(x).end()
#define MOD 1000000007
#define INF 2147483647
typedef long long ll;
typedef unsigned long long ull;

//dark power
//#define int ll
//define Error、大抵は、セミコロン忘れとか、Defineは関係ない
/*
vector<int> d(100000);
vector<int> b(100000);
class UnionFind{
	public:
	UnionFind(signed n){rep(i,n){d[i]=i;b[i]=0;}}
	signed find(signed x){
		if(d[x]==x){
			return x;
		}else{
			return d[x]=find(d[x]);
		}
	}
	UnionFind(signed n){rep(i,n){d[i]=i;b[i]=0;}}
	void unite(signed x,signed y){
		x=find(x);
		y=find(y);
		if(x==y)return;
		if(b[x]<b[y]){
			d[x]=y;
		}else{
			d[y]=x;
			if(b[x]==b[y])b[x]++;
		}
	}
	bool same(signed x,signed y){return (find(x)==find(y));}
};
*/
int
digitBinary(int n)
{
    if (n < 100000) {
        if (n < 1000) {
            if (n < 10)
                return 1;
            else if (n < 100)
                return 2;
            else
                return 3;
        } else {
            if (n < 10000)
                return 4;
            else
                return 5;
        }
    } else {
        if (n < 10000000) {
            if (n < 1000000)
                return 6;
            else
                return 7;
        } else {
            if (n < 100000000)
                return 8;
            else if (n < 1000000000)
                return 9;
            else
                return 10;
        }
    }
}

void
countDigitBinary(int n)
{   
    clock_t start,end;
    int digit;

    start = clock(); 
    for (size_t i=0; i < 10000000; ++i) {
        digit = digitBinary(n);
    }
    end = clock();
    printf("countDigitBinary()    digit::%d  time::%fsec\n",digit,((double)end - start)/CLOCKS_PER_SEC);
}
signed main(){
	cin.tie(0);
	ios::sync_with_stdio(false);
	int n;
	cin>>n;
	int r;
	r=int(pow(n,0.5));
	rep(i,r,n+1){
		if(n%i==0){
			cout<<digitBinary(i)<<endl;
			return 0;
		}
	}
	return 0;
}

Submission Info

Submission Time
Task C - Digits in Multiplication
User nemuinn
Language C++14 (GCC 5.4.1)
Score 0
Code Size 2249 Byte
Status TLE
Exec Time 2103 ms
Memory 256 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 0 / 300
Status
AC × 2
TLE × 1
AC × 8
TLE × 7
Set Name Test Cases
Sample sample_01.txt, sample_02.txt, sample_03.txt
All sample_01.txt, sample_02.txt, sample_03.txt, subtask_1_1.txt, subtask_1_10.txt, subtask_1_11.txt, subtask_1_12.txt, subtask_1_2.txt, subtask_1_3.txt, subtask_1_4.txt, subtask_1_5.txt, subtask_1_6.txt, subtask_1_7.txt, subtask_1_8.txt, subtask_1_9.txt
Case Name Status Exec Time Memory
sample_01.txt AC 1 ms 256 KB
sample_02.txt AC 4 ms 256 KB
sample_03.txt TLE 2103 ms 256 KB
subtask_1_1.txt AC 1 ms 256 KB
subtask_1_10.txt TLE 2103 ms 256 KB
subtask_1_11.txt AC 1 ms 256 KB
subtask_1_12.txt AC 1 ms 256 KB
subtask_1_2.txt AC 1 ms 256 KB
subtask_1_3.txt TLE 2103 ms 256 KB
subtask_1_4.txt AC 2 ms 256 KB
subtask_1_5.txt AC 6 ms 256 KB
subtask_1_6.txt TLE 2103 ms 256 KB
subtask_1_7.txt TLE 2103 ms 256 KB
subtask_1_8.txt TLE 2103 ms 256 KB
subtask_1_9.txt TLE 2103 ms 256 KB