Rezultati

Up. imeNalogaJezikRezultatČas oddaje
algebros-2019 Ocenjevanje univerz C++ 100/100OK 24. apr '19 @ 18:59

Test Točke Porabljen spomin Porabljen čas Status
#1 [več] 10/10 2,250 MiB 0,037 s OK
#2 [več] 10/10 2,895 MiB 0,088 s OK
#3 [več] 10/10 3,012 MiB 0,069 s OK
#4 [več] 10/10 2,246 MiB 0,043 s OK
#5 [več] 10/10 1,840 MiB 0,021 s OK
#6 [več] 10/10 2,262 MiB 0,055 s OK
#7 [več] 10/10 3,012 MiB 0,081 s OK
#8 [več] 10/10 3,012 MiB 0,050 s OK
#9 [več] 10/10 1,695 MiB 0,016 s OK
#10 [več] 10/10 2,531 MiB 0,071 s OK

Ocenjevani program (Univerze.cpp):
#include <stdio.h>

using namespace std;

double a[100100];
double b[100100];

int main()
{
    int n;
    double x, s = 0, e = 1;
    scanf("%d",&n);

    for(int i = 0; i < n; i++)
        scanf("%lf %lf",&a[i],&b[i]);
    
    for(int i = 1; i < n; i++)
    {
        if(a[0] == a[i])
        {
            if(b[0] < b[i])
            {
                printf("Slabe metrike\n");
                return 0;
            }
        }

        if(a[0] < a[i])
        {
            if(b[0] <= b[i])
            {
                printf("Slabe metrike\n");
                return 0;
            }
            else
            {
                if(e > (b[i] - b[0])/(a[0] - a[i] + b[i] - b[0]))
                    e = (b[i] - b[0])/(a[0] - a[i] + b[i] - b[0]);
            }
        }

        if(a[0] > a[i])
        {
            if(b[0] < b[i])
            {
                if(s < (b[i] - b[0])/(a[0] - a[i] + b[i] - b[0]))
                    s = (b[i] - b[0])/(a[0] - a[i] + b[i] - b[0]);
            }
        }
    }

    if(s <= e)
        printf("%.9f %.9f\n",(s + e)/2,1 - (s + e)/2);
    else
        printf("Slabe metrike\n");
}