Submission #3879133
Source Code Expand
#include <stdio.h>
#include <algorithm>
#include <assert.h>
#include <bitset>
#include <cmath>
#include <complex>
#include <deque>
#include <functional>
#include <iostream>
#include <limits.h>
#include <map>
#include <math.h>
#include <queue>
#include <set>
#include <stdlib.h>
#include <string.h>
#include <string>
#include <time.h>
#include <unordered_map>
#include <unordered_set>
#include <vector>
#pragma warning(disable:4996)
#pragma comment(linker, "/STACK:336777216")
using namespace std;
#define mp make_pair
#define Fi first
#define Se second
#define pb(x) push_back(x)
#define szz(x) ((int)(x).size())
#define rep(i, n) for(int i=0;i<n;i++)
#define all(x) (x).begin(), (x).end()
#define ldb ldouble
typedef unsigned int uint;
typedef tuple<int, int, int> t3;
typedef long long ll;
typedef unsigned long long ull;
typedef double db;
typedef long double ldb;
typedef pair <int, int> pii;
typedef pair <ll, ll> pll;
typedef pair <ll, int> pli;
typedef pair <db, db> pdd;
int IT_MAX = 1 << 19;
const ll MOD = 1000000007;
const int INF = 0x3f3f3f3f;
const ll LL_INF = 0x3f3f3f3f3f3f3f3f;
const db PI = acos(-1);
const db ERR = 1e-10;
const int MX = 200005;
int main()
{
vector<pll> L;
ll mul = 1, i;
while(mul <= 1e15){
for(i = mul/10-1; i <= mul; i += max(mul/1000000, 1ll)){
if(i <= 0 || i == mul/10-1) continue;
ll cur = i, t = 0;
while(cur) t += cur%10, cur /= 10;
pll p = pll(i, t);
while(L.size() && (ll)L.back().first * p.second > (ll)L.back().second * p.first) L.pop_back();
L.push_back(p);
}
mul *= 10;
}
int K;
scanf("%d", &K);
ll cur = 2, m = 1;
for(int i = 1; i <= K; i++) printf("%lld\n", L[i].first);
}
Submission Info
Submission Time
2018-12-27 08:34:29+0900
Task
D - Snuke Numbers
User
zigui
Language
C++14 (GCC 5.4.1)
Score
500
Code Size
1796 Byte
Status
AC
Exec Time
246 ms
Memory
256 KiB
Compile Error
./Main.cpp: In function ‘int main()’:
./Main.cpp:73:17: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
scanf("%d", &K);
^
Judge Result
Set Name
Sample
All
Score / Max Score
0 / 0
500 / 500
Status
Set Name
Test Cases
Sample
sample.txt
All
sample.txt, 1.txt, sample.txt
Case Name
Status
Exec Time
Memory
1.txt
AC
246 ms
256 KiB
sample.txt
AC
245 ms
256 KiB