Submission #17796

# Submission time Handle Problem Language Result Execution time Memory
17796 2016-01-12T11:22:44 Z Elibay Weighting stones (IZhO11_stones) C++
Compilation error
0 ms 0 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.begin (); 
    auto j = S.begin ();
    for (int q = 1; q <= n; ++ q)
    {
        int X = *i;
        int Y = *j;
        if (Y > X)
            k1 ++;
        if (X > Y)
            k2 ++;
        ++ i;
        ++ j;
    }
    if (k2 == 0)
        puts ("<");
    else if (k1 == 0)
        puts (">");
    else    
        puts ("?");
}
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;
}

Compilation message

stones.cpp: In function ‘void Solve1()’:
stones.cpp:14:5: warning: ‘auto’ changes meaning in C++11; please remove it [-Wc++0x-compat]
     auto i = s.begin (); 
     ^
stones.cpp:14:10: error: ‘i’ does not name a type
     auto i = s.begin (); 
          ^
stones.cpp:15:5: warning: ‘auto’ changes meaning in C++11; please remove it [-Wc++0x-compat]
     auto j = S.begin ();
     ^
stones.cpp:15:10: error: ‘j’ does not name a type
     auto j = S.begin ();
          ^
stones.cpp:18:18: error: ‘i’ was not declared in this scope
         int X = *i;
                  ^
stones.cpp:19:18: error: ‘j’ was not declared in this scope
         int Y = *j;
                  ^
stones.cpp: In function ‘int main()’:
stones.cpp:48:13: warning: ‘auto’ changes meaning in C++11; please remove it [-Wc++0x-compat]
             auto w = S.begin ();
             ^
stones.cpp:48:18: error: ‘w’ does not name a type
             auto w = S.begin ();
                  ^
stones.cpp:49:22: error: ‘w’ was not declared in this scope
             S.erase (w);
                      ^
stones.cpp:55:13: warning: ‘auto’ changes meaning in C++11; please remove it [-Wc++0x-compat]
             auto w = s.begin ();
             ^
stones.cpp:55:18: error: ‘w’ does not name a type
             auto w = s.begin ();
                  ^