CSES - Datatähti 2018 alku - Results
Submission details
Task:Kyselyt
Sender:nokka7
Submission time:2017-10-15 11:44:20 +0300
Language:C++
Status:READY
Result:37
Feedback
groupverdictscore
#1ACCEPTED12
#2ACCEPTED25
#30
Test results
testverdicttimegroup
#1ACCEPTED0.06 s1details
#2ACCEPTED0.07 s2details
#30.07 s3details

Code

#include <bits/stdc++.h>
using namespace std;
long long vastaus(long long kysyttava) {
	if (kysyttava < 10) {
		return kysyttava;
	}
	if (kysyttava >= 10 && kysyttava < 190 ) {
		long long auttaja;
		int tyyppi;
		auttaja = (kysyttava - 10);
		tyyppi = (auttaja) % 2;
		if (tyyppi == 0) return (auttaja/20 + 1);
		if (tyyppi == 1) return (auttaja%20)/2;
	}
	if (kysyttava >= 190 && kysyttava < 2890 ) {
		long long auttaja;
		int tyyppi;
		int num;
		num = 3;
		auttaja = (kysyttava  - 190);
		tyyppi = (auttaja % num);
		if (tyyppi == 0) return (auttaja/(num*100) + 1);
		if (tyyppi == 1) return (auttaja%(num*100))/(num*10);
		if (tyyppi == 2) return (auttaja%(num*10))/num;		
	}
	if (kysyttava >= 2890 && kysyttava < 38890 ) {
		long long auttaja;
		int tyyppi;
		int num;
		num = 4;
		auttaja = (kysyttava  - 2890);
		tyyppi = (auttaja % num);
		if (tyyppi == 0) return (auttaja/(num*1000) + 1);
		if (tyyppi == 1) return (auttaja%(num*1000))/(num*100);
		if (tyyppi == 2) return (auttaja%(num*100))/(num*10);
		if (tyyppi == 3) return (auttaja%(num*10))/(num*1);
	}
	if (kysyttava >= 38890 && kysyttava < 488890 ) {
		long long auttaja;
		int tyyppi;
		int num;
		num = 5;
		auttaja = (kysyttava  - 38890);
		tyyppi = (auttaja % num);
		if (tyyppi == 0) return (auttaja/(num*10000) + 1);
		if (tyyppi == 1) return (auttaja%(num*10000))/(num*1000);
		if (tyyppi == 2) return (auttaja%(num*1000))/(num*100);
		if (tyyppi == 3) return (auttaja%(num*100))/(num*10);
		if (tyyppi == 4) return (auttaja%(num*10))/(num*1);
	}
	if (kysyttava >= 488890 && kysyttava < 5888890 ) {
		long long auttaja;
		int tyyppi;
		int num;
		num = 6;
		auttaja = (kysyttava  - 488890);
		tyyppi = (auttaja % num);
		if (tyyppi == 0) return (auttaja/(num*100000) + 1);
		if (tyyppi == 1) return (auttaja%(num*100000))/(num*10000);
		if (tyyppi == 2) return (auttaja%(num*10000))/(num*1000);
		if (tyyppi == 3) return (auttaja%(num*1000))/(num*100);
		if (tyyppi == 4) return (auttaja%(num*100))/(num*10);
		if (tyyppi == 5) return (auttaja%(num*10))/(num*1);
	}
	if (kysyttava >= 5888890 && kysyttava < 68888890 ) {
		return 0;
	}
	if (kysyttava >= 68888890 && kysyttava < 788888890 ) {
		return 0;
	}
	if (kysyttava >= 788888890 && kysyttava < 8888888890 ) {
		return 0;
	}
	if (kysyttava >= 8888888890 && kysyttava < 98888888890 ) {
		return 0;
	}
	else return 0;

}
int main() {
	ios_base::sync_with_stdio(0);
	cin.tie(0);
	long long luvut[1010] = {0};
	long long x;
	for (int i = 1; cin >> x && i < 1008; ++i) {
		luvut[i -1 ] = x ;
	}
	for ( int i = 1; i < 1005 ; i = i + 1 ) {
		if (luvut[i] == 0) continue;
		cout << vastaus(luvut[i]) << "\n";
	}
	}

Test details

Test 1

Group: 1

Verdict: ACCEPTED

input
1000
582
214
723
273
...

correct output
0
1
7
7
6
...

user output
0
1
7
7
6
...

Test 2

Group: 2

Verdict: ACCEPTED

input
1000
615664
916441
627600
279508
...

correct output
1
2
3
2
2
...

user output
1
2
3
2
2
...

Test 3

Group: 3

Verdict:

input
1000
672274832941907421
260504693279721732
646999966092970935
100853063389774434
...

correct output
7
2
2
0
9
...

user output
0
0
0
0
0
...