Submission #1016018
Source Code Expand
// Standard I/O #include <iostream> #include <sstream> #include <cstdio> // Standard Library #include <cstdlib> #include <cstring> #include <ctime> #include <cmath> // Template Class #include <complex> #include <string> #include <vector> #include <list> #include <set> #include <map> #include <queue> #include <stack> // Container Control #include <algorithm> using namespace std; #define rep( i, n ) for( int i = 0; i < n; ++i ) #define irep( i, n ) for( int i = n-1; i >= 0; --i ) #define reep( i, s, n ) for ( int i = s; i < n; ++i ) #define ireep( i, n, s ) for ( int i = n-1; i >= s; --i ) #define foreach(itr, x) for( typeof(x.begin()) itr = x.begin(); itr != x.end(); ++itr) #define mp make_pair #define mt make_tuple #define pb push_back #define eb emplace_back #define all( v ) v.begin(), v.end() #define fs first #define sc second #define vc vector // for visualizer.html double SCALE = 1.0; double OFFSET_X = 0.0; double OFFSET_Y = 0.0; #define LINE(x,y,a,b) cerr << "line(" << SCALE*(x) + OFFSET_X << "," \ << SCALE*(y) + OFFSET_Y << "," \ << SCALE*(a) + OFFSET_X << "," \ << SCALE*(b) + OFFSET_Y << ")" << endl; #define CIRCLE(x,y,r) cerr << "circle(" << SCALE*(x) + OFFSET_X << "," \ << SCALE*(y) + OFFSET_Y << "," \ << SCALE*(r) << ")" << endl; typedef long long ll; typedef unsigned long long ull; typedef complex<double> Point; typedef pair<int, int> pii; typedef pair<int, pii> ipii; typedef vector<int> vi; typedef vector<double> vd; typedef vector< vector<int> > vii; typedef vector< vector<double> > vdd; typedef vector<int>::iterator vi_itr; const int IINF = 1 << 28; const int MOD = 1e9+7; const double INF = 1e30; const double EPS = 1e-10; const double PI = acos(-1.0); // Direction : L U R D const int dx[] = { -1, 0, 1, 0}; const int dy[] = { 0, -1, 0, 1 }; int main() { string str; ll x, y; cin >> str; x = stoll(str.substr(0, str.find("/"))); y = stoll(str.substr(str.find("/")+1)); ll tmp = __gcd(x, y); x /= tmp; y /= tmp; ll l = 1, r = ((1ull << 32)-1)/y+1; while( r - l > 1 ){ ll mid = (l+r)/2; ll n = mid*y; ll sum = n*(n+1)/2; if( sum - mid*x < 0 ) l = mid; else r = mid; } ll cnt = 0; for( ll i = l-1000; i <= r+1000; ++i ){ if( 0 < y*i*(y*i+1)/2 - i*x && y*i*(y*i+1)/2 - i*x <= y*i ){ ++cnt; cout << y*i << " " << y*i*(y*i+1)/2 - i*x << endl; } } if( cnt == 0 ) cout << "Impossible" << endl; }
Submission Info
Submission Time | |
---|---|
Task | C - 平均値太郎の憂鬱 ( The melancholy of Taro Heikinchi ) |
User | gyuuto |
Language | C++11 (GCC 4.8.1) |
Score | 100 |
Code Size | 2534 Byte |
Status | AC |
Exec Time | 19 ms |
Memory | 932 KB |
Judge Result
Set Name | All | ||
---|---|---|---|
Score / Max Score | 100 / 100 | ||
Status |
|
Set Name | Test Cases |
---|---|
All | 00_killer.txt, 00_max.txt, 00_min.txt, 00_min2.txt, 00_sample_01.txt, 00_sample_02.txt, 00_sample_03.txt, 00_sample_04.txt, 01_rnd_00.txt, 01_rnd_01.txt, 01_rnd_02.txt, 01_rnd_03.txt, 01_rnd_04.txt, 01_rnd_05.txt, 01_rnd_06.txt, 01_rnd_07.txt, 01_rnd_08.txt, 01_rnd_09.txt, 01_rnd_10.txt, 01_rnd_11.txt, 01_rnd_12.txt, 01_rnd_13.txt, 01_rnd_14.txt, 01_rnd_15.txt, 01_rnd_16.txt, 01_rnd_17.txt, 01_rnd_18.txt, 01_rnd_19.txt, 02_rnd2_00.txt, 02_rnd2_01.txt, 02_rnd2_02.txt, 02_rnd2_03.txt, 02_rnd2_04.txt, 02_rnd2_05.txt, 02_rnd2_06.txt, 02_rnd2_07.txt, 02_rnd2_08.txt, 02_rnd2_09.txt, 02_rnd2_10.txt, 02_rnd2_11.txt, 02_rnd2_12.txt, 02_rnd2_13.txt, 02_rnd2_14.txt, 02_rnd2_15.txt, 02_rnd2_16.txt, 02_rnd2_17.txt, 02_rnd2_18.txt, 02_rnd2_19.txt, 03_smallrnd_00.txt, 03_smallrnd_01.txt, 03_smallrnd_02.txt, 03_smallrnd_03.txt, 03_smallrnd_04.txt, 03_smallrnd_05.txt, 03_smallrnd_06.txt, 03_smallrnd_07.txt, 03_smallrnd_08.txt, 03_smallrnd_09.txt, 04_primes_01.txt, 04_primes_02.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
00_killer.txt | AC | 18 ms | 844 KB |
00_max.txt | AC | 16 ms | 800 KB |
00_min.txt | AC | 18 ms | 676 KB |
00_min2.txt | AC | 18 ms | 800 KB |
00_sample_01.txt | AC | 16 ms | 800 KB |
00_sample_02.txt | AC | 18 ms | 796 KB |
00_sample_03.txt | AC | 16 ms | 676 KB |
00_sample_04.txt | AC | 18 ms | 800 KB |
01_rnd_00.txt | AC | 18 ms | 804 KB |
01_rnd_01.txt | AC | 18 ms | 800 KB |
01_rnd_02.txt | AC | 18 ms | 804 KB |
01_rnd_03.txt | AC | 16 ms | 804 KB |
01_rnd_04.txt | AC | 16 ms | 800 KB |
01_rnd_05.txt | AC | 18 ms | 804 KB |
01_rnd_06.txt | AC | 18 ms | 804 KB |
01_rnd_07.txt | AC | 18 ms | 804 KB |
01_rnd_08.txt | AC | 18 ms | 800 KB |
01_rnd_09.txt | AC | 18 ms | 804 KB |
01_rnd_10.txt | AC | 18 ms | 804 KB |
01_rnd_11.txt | AC | 18 ms | 804 KB |
01_rnd_12.txt | AC | 18 ms | 804 KB |
01_rnd_13.txt | AC | 18 ms | 804 KB |
01_rnd_14.txt | AC | 16 ms | 800 KB |
01_rnd_15.txt | AC | 16 ms | 804 KB |
01_rnd_16.txt | AC | 18 ms | 676 KB |
01_rnd_17.txt | AC | 16 ms | 804 KB |
01_rnd_18.txt | AC | 18 ms | 800 KB |
01_rnd_19.txt | AC | 18 ms | 800 KB |
02_rnd2_00.txt | AC | 18 ms | 800 KB |
02_rnd2_01.txt | AC | 18 ms | 804 KB |
02_rnd2_02.txt | AC | 18 ms | 800 KB |
02_rnd2_03.txt | AC | 18 ms | 800 KB |
02_rnd2_04.txt | AC | 16 ms | 804 KB |
02_rnd2_05.txt | AC | 16 ms | 804 KB |
02_rnd2_06.txt | AC | 16 ms | 920 KB |
02_rnd2_07.txt | AC | 18 ms | 928 KB |
02_rnd2_08.txt | AC | 18 ms | 804 KB |
02_rnd2_09.txt | AC | 18 ms | 796 KB |
02_rnd2_10.txt | AC | 16 ms | 804 KB |
02_rnd2_11.txt | AC | 18 ms | 932 KB |
02_rnd2_12.txt | AC | 19 ms | 796 KB |
02_rnd2_13.txt | AC | 18 ms | 916 KB |
02_rnd2_14.txt | AC | 16 ms | 804 KB |
02_rnd2_15.txt | AC | 18 ms | 804 KB |
02_rnd2_16.txt | AC | 16 ms | 804 KB |
02_rnd2_17.txt | AC | 18 ms | 800 KB |
02_rnd2_18.txt | AC | 18 ms | 804 KB |
02_rnd2_19.txt | AC | 16 ms | 804 KB |
03_smallrnd_00.txt | AC | 17 ms | 840 KB |
03_smallrnd_01.txt | AC | 18 ms | 804 KB |
03_smallrnd_02.txt | AC | 18 ms | 928 KB |
03_smallrnd_03.txt | AC | 18 ms | 800 KB |
03_smallrnd_04.txt | AC | 18 ms | 800 KB |
03_smallrnd_05.txt | AC | 16 ms | 804 KB |
03_smallrnd_06.txt | AC | 19 ms | 800 KB |
03_smallrnd_07.txt | AC | 18 ms | 800 KB |
03_smallrnd_08.txt | AC | 18 ms | 804 KB |
03_smallrnd_09.txt | AC | 18 ms | 804 KB |
04_primes_01.txt | AC | 18 ms | 796 KB |
04_primes_02.txt | AC | 18 ms | 800 KB |