Submission #92661

#TimeUsernameProblemLanguageResultExecution timeMemory
92661KastandaCipele (COCI18_cipele)C++11
90 / 90
52 ms3060 KiB
#include<bits/stdc++.h>
using namespace std;
int n, m;
vector < int > A, B;
bool Solve(int md)
{
    int r = 0;
    for (int i = 0; i < A.size(); i++)
    {
        if (r >= B.size())
            return false;
        while (r < B.size() && B[r] <= A[i] && A[i] - B[r] > md)
            r ++;
        if (r >= B.size() || abs(A[i] - B[r]) > md)
            return false;
        r ++;
    }
    return true;
}
int main()
{
    scanf("%d%d", &n, &m);
    A.resize(n); B.resize(m);
    for (int i = 0; i < n; i++)
        scanf("%d", &A[i]);
    for (int i = 0; i < m; i++)
        scanf("%d", &B[i]);
    if (n > m) A.swap(B);
    sort(A.begin(), A.end());
    sort(B.begin(), B.end());
    int le = -1, ri = 1e9, md;
    while (ri - le > 1)
    {
        md = (le + ri) >> 1;
        if (Solve(md))
            ri = md;
        else
            le = md;
    }
    return !printf("%d", ri);
}

Compilation message (stderr)

cipele.cpp: In function 'bool Solve(int)':
cipele.cpp:8:23: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for (int i = 0; i < A.size(); i++)
                     ~~^~~~~~~~~~
cipele.cpp:10:15: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         if (r >= B.size())
             ~~^~~~~~~~~~~
cipele.cpp:12:18: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         while (r < B.size() && B[r] <= A[i] && A[i] - B[r] > md)
                ~~^~~~~~~~~~
cipele.cpp:14:15: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         if (r >= B.size() || abs(A[i] - B[r]) > md)
             ~~^~~~~~~~~~~
cipele.cpp: In function 'int main()':
cipele.cpp:22:10: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
     scanf("%d%d", &n, &m);
     ~~~~~^~~~~~~~~~~~~~~~
cipele.cpp:25:14: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
         scanf("%d", &A[i]);
         ~~~~~^~~~~~~~~~~~~
cipele.cpp:27:14: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
         scanf("%d", &B[i]);
         ~~~~~^~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...