답안 #146662

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
146662 2019-08-25T05:48:57 Z pichulia 분수 (KPI13_fractions) C++11
0 / 1
1000 ms 380 KB
#include<stdio.h>
unsigned long long int find_r(unsigned long long int x, unsigned long long int b)
{
    unsigned long long int l,r,mid;
    l=1; r=b;
    while(l<r)
    {
        mid = (l+r)/2;
        if((x*mid/b) < mid-1) r = mid;
        else l=mid+1;
    }
    return l-1;
}
int main()
{
    int t;
    scanf("%d",&t);
    while(t--)
    {
        unsigned long long int a,b,c,d;
        unsigned long long int k,s;
        scanf("%llu %llu %llu %llu",&a,&b,&c,&d);
        unsigned long long int x,y;
        unsigned long long int p,q,r;
        k = a/b;
        y=1;
        while(1)
        {
            p=d+(a*y/b)*d;
            q=c*y;
            if(p<q)break;
            r = a*y%b;
            s = find_r(r,b);
            y += s+(p-q)/(c-k*d);
        }
        x = a*y/b+1;
        printf("%llu %llu\n",x,y);
    }
}

Compilation message

fractions.cpp: In function 'int main()':
fractions.cpp:17:10: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
     scanf("%d",&t);
     ~~~~~^~~~~~~~~
fractions.cpp:22:14: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
         scanf("%llu %llu %llu %llu",&a,&b,&c,&d);
         ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# 결과 실행 시간 메모리 Grader output
1 Correct 2 ms 256 KB Output is correct
2 Correct 2 ms 256 KB Output is correct
3 Correct 3 ms 256 KB Output is correct
4 Correct 2 ms 256 KB Output is correct
5 Correct 2 ms 376 KB Output is correct
6 Correct 2 ms 380 KB Output is correct
7 Correct 2 ms 256 KB Output is correct
8 Execution timed out 1076 ms 376 KB Time limit exceeded
9 Halted 0 ms 0 KB -