Submission #17822

# Submission time Handle Problem Language Result Execution time Memory
17822 2016-01-12T11:48:50 Z Elibay Weighting stones (IZhO11_stones) C++14
40 / 100
1000 ms 11096 KB
#include <bits/stdc++.h>
#define Fname ""
  
using namespace std;
  
const int MaxN = 3e5 + 17, INF = 1e9 + 17, Mod = 1e9 + 7;
  
multiset < int > S, s;
int n, x, y;
double Sx, Sy, Mx, My, kol1, kol2;
inline void Solve1 ()
{
    int k1 = 0, k2 = 0;
    auto i = s.rbegin (); 
    auto j = S.rbegin ();
    for (int q = 1; q <= n; ++ q)
    {
        int X = *i;
        int Y = *j;
        if (Y > X)
            k1 ++;
        if (X > Y)
            k2 ++;
        if (k1 && k2)
        {
            puts ("?");
            return;
        }
        if (X == 0 && Y == 0)
        {
            if (k2 == 0)
                puts ("<");
            else if (k1 == 0)
                puts (">");
            return;
        }
        ++ i;
        ++ j;
    }
}
int main ()
{
    #ifdef Elibay
        freopen (".in", "r", stdin);
    #endif
    cin >> n;
    for (int i = 1; i <= n; ++ i)
        S.insert (0), s.insert (0);
    for (int z = 1; z <= n; ++ z)
    {
        cin >> x >> y;
        if (y == 2)
        {
            Mx += x * 1.0 + 0.999, Sx += x * 1.0, kol2 ++;
            auto w = S.begin ();
            S.erase (w);
            S.insert (x);
        }
        else if (y == 1)
        {   
            My += x * 1.0 + 0.999, Sy += x * 1.0, kol1 ++;
            auto w = s.begin ();
            s.erase (s.begin ());
            s.insert (x);
        }
        if (z <= 2e4)
        {
            if ((Sx > My && kol2 >= kol1) || (Sy > Mx && kol1 >= kol2))
                Solve1 ();
            else
                puts ("?");
        }
        else
        {
            if ((Sx > My && kol2 >= kol1))
                puts ("<");
            else if ((Sy > Mx && kol1 >= kol2))
                puts (">");
            else
                puts ("?");   
        }
    }
    return 0;
}
# Verdict Execution time Memory Grader output
1 Correct 0 ms 1724 KB Output is correct - 73 tokens
2 Correct 0 ms 1724 KB Output is correct - 89 tokens
3 Correct 0 ms 1724 KB Output is correct - 221 tokens
4 Correct 0 ms 1724 KB Output is correct - 21 tokens
5 Correct 2 ms 1724 KB Output is correct - 369 tokens
6 Correct 3 ms 1724 KB Output is correct - 492 tokens
7 Correct 0 ms 1724 KB Output is correct - 945 tokens
8 Correct 14 ms 1724 KB Output is correct - 1237 tokens
9 Correct 7 ms 1724 KB Output is correct - 1105 tokens
10 Correct 62 ms 2516 KB Output is correct - 8921 tokens
11 Incorrect 247 ms 6872 KB Output isn't correct - 22212th words differ - expected: '?', found: '>'
12 Incorrect 436 ms 10172 KB Output isn't correct - 20001st words differ - expected: '?', found: '>'
13 Execution timed out 1000 ms 11096 KB Program timed out
14 Execution timed out 1000 ms 11096 KB Program timed out
15 Execution timed out 1000 ms 0 KB Program timed out
16 Execution timed out 1000 ms 11096 KB Program timed out
17 Execution timed out 1000 ms 0 KB Program timed out
18 Execution timed out 1000 ms 11096 KB Program timed out
19 Execution timed out 1000 ms 11096 KB Program timed out
20 Execution timed out 1000 ms 11096 KB Program timed out
21 Execution timed out 1000 ms 11096 KB Program timed out
22 Execution timed out 1000 ms 11096 KB Program timed out
23 Execution timed out 1000 ms 11096 KB Program timed out
24 Execution timed out 1000 ms 11096 KB Program timed out
25 Execution timed out 1000 ms 11096 KB Program timed out