Submission #17823

# Submission time Handle Problem Language Result Execution time Memory
17823 2016-01-12T11:49:56 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 <= 3e4)
        {
            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 7 ms 1724 KB Output is correct - 369 tokens
6 Correct 8 ms 1724 KB Output is correct - 492 tokens
7 Correct 0 ms 1724 KB Output is correct - 945 tokens
8 Correct 11 ms 1724 KB Output is correct - 1237 tokens
9 Correct 0 ms 1724 KB Output is correct - 1105 tokens
10 Correct 83 ms 2516 KB Output is correct - 8921 tokens
11 Incorrect 376 ms 6872 KB Output isn't correct - 30001st words differ - expected: '?', found: '>'
12 Execution timed out 1000 ms 10172 KB Program timed out
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 11096 KB Program timed out
16 Execution timed out 1000 ms 11096 KB Program timed out
17 Execution timed out 1000 ms 11096 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