Submission #17816

# Submission time Handle Problem Language Result Execution time Memory
17816 2016-01-12T11:39:31 Z Elibay Weighting stones (IZhO11_stones) C++14
48 / 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 <= int (1e4))
        {
            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 0 ms 1724 KB Output is correct - 369 tokens
6 Correct 0 ms 1724 KB Output is correct - 492 tokens
7 Correct 7 ms 1724 KB Output is correct - 945 tokens
8 Correct 6 ms 1724 KB Output is correct - 1237 tokens
9 Correct 14 ms 1724 KB Output is correct - 1105 tokens
10 Correct 295 ms 2516 KB Output is correct - 8921 tokens
11 Incorrect 227 ms 6872 KB Output isn't correct - 11627th words differ - expected: '?', found: '>'
12 Incorrect 414 ms 10172 KB Output isn't correct - 10001st words differ - expected: '?', found: '>'
13 Correct 925 ms 11096 KB Output is correct - 100000 tokens
14 Correct 792 ms 11096 KB Output is correct - 100000 tokens
15 Incorrect 997 ms 11096 KB Output isn't correct - 10004th words differ - expected: '?', found: '>'
16 Execution timed out 1000 ms 11096 KB Program timed out
17 Incorrect 944 ms 11096 KB Output isn't correct - 10001st words differ - expected: '?', found: '<'
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