Submission #31303

# Submission time Handle Problem Language Result Execution time Memory
31303 2017-08-17T23:34:07 Z imaxblue Pipes (BOI13_pipes) C++14
0 / 100
769 ms 23404 KB
#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define mp make_pair
#define pb push_back
#define x first
#define y second
#define pii pair<int, int>
#define p3i pair<pii, int>
#define pll pair<ll, ll>
#define p3l pair<pll, ll>
#define lseg L, (L+R)/2, N*2+1
#define rseg (L+R)/2+1, R, N*2+2
#define ub upper_bound
#define lb lower_bound
#define pq priority_queue
#define MN 1000000007
#define fox(k, x) for (int k=0; k<x; ++k)
#define fox1(k, x) for (int k=1; k<=x; ++k)
#define foxr(k, x) for (int k=x-1; k>=0; --k)
#define fox1r(k, x) for (int k=x; k>0; --k)
#define ms multiset
#define flood(x) memset(x, 0x3f3f3f3f, sizeof x)
#define drain(x) memset(x, 0, sizeof x)

int n, m, a, b, N, C;
ll c[100005], f[500005], k;
int in[100005];
bool u[100005];
vector<pii> v[100005], s;
queue<int> q;
void dfs(int N, int P){
    //cout << N << ' ' << C << endl;
    if (u[N]){
        //cout << "*" << endl;
        if (u[N]==C){
            cout << 0 << endl;
            exit(0);
        }
        if (in[N]==-1) return;
        s.pb(mp(N, -1));
        fox(l, s.size()-1){
            in[s[l].x]=-1;
            c[s[l+1].x]-=c[s[l].x];
            f[s[l].y]+=c[s[l].x];
            //cout << s[l].y << ' ' << f[s[l].y] << endl;
        }
        k=c[s[0].x]/2;
        fox(l, s.size()-1){
            f[s[l].y]+=k;
            k*=-1;
        }
        s.pop_back();
        return;
    }

    u[N]=C;
    fox(l, v[N].size()){
        if (in[v[N][l].x]==0 || v[N][l].x==P) continue;
        C=3-C;
        s.pb(mp(N, v[N][l].y));
        dfs(v[N][l].x, N);
        s.pop_back();
        C=3-C;
    }
}
int main(){
    cin >> n >> m;
    fox1(l, n) cin >> c[l];
    fox(l, m){
        cin >> a >> b;
        v[a].pb(mp(b, l));
        v[b].pb(mp(a, l));
        in[a]++; in[b]++;
    }
    fox1(l, n){
        if (in[l]==1) q.push(l);
    }
    /*while(!q.empty()){
        N=q.front(); q.pop();
        if (in[N]!=1) continue;
        in[N]--;
        fox(l, v[N].size()){
            if (in[v[N][l].x]==0) continue;
            c[v[N][l].x]-=c[N];
            f[v[N][l].y]=c[N];
            //cout << N << ' ' << v[N][l].y << ' ' << c[N] << endl;
            in[v[N][l].x]--;
            if (in[v[N][l].x]==1) q.push(v[N][l].x);
        }
    }
    fox1(l, n){
        if (in[l]==0 || u[l]) continue;
        C=1;
        dfs(l, -1);
    }*/
    for (int l=0; l<m; ++l){
        f[l]*=2;
        cout << f[l] << endl;
    }
    return 0;
}

Compilation message

pipes.cpp: In function 'void dfs(int, int)':
pipes.cpp:18:34: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
 #define fox(k, x) for (int k=0; k<x; ++k)
                                  ^
pipes.cpp:42:9: note: in expansion of macro 'fox'
         fox(l, s.size()-1){
         ^
pipes.cpp:18:34: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
 #define fox(k, x) for (int k=0; k<x; ++k)
                                  ^
pipes.cpp:49:9: note: in expansion of macro 'fox'
         fox(l, s.size()-1){
         ^
pipes.cpp:18:34: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
 #define fox(k, x) for (int k=0; k<x; ++k)
                                  ^
pipes.cpp:58:5: note: in expansion of macro 'fox'
     fox(l, v[N].size()){
     ^
# Verdict Execution time Memory Grader output
1 Incorrect 0 ms 9544 KB Output isn't correct
2 Incorrect 0 ms 9544 KB Output isn't correct
3 Incorrect 3 ms 9544 KB Output isn't correct
4 Runtime error 236 ms 13504 KB Execution timed out (wall clock limit exceeded)
5 Incorrect 3 ms 9544 KB Output isn't correct
6 Incorrect 0 ms 9544 KB Output isn't correct
7 Incorrect 3 ms 9544 KB Output isn't correct
8 Incorrect 3 ms 9544 KB Output isn't correct
9 Incorrect 3 ms 9544 KB Output isn't correct
10 Incorrect 0 ms 9544 KB Output isn't correct
11 Incorrect 6 ms 9544 KB Output isn't correct
12 Incorrect 6 ms 9544 KB Output isn't correct
13 Runtime error 169 ms 12712 KB Execution timed out (wall clock limit exceeded)
14 Runtime error 223 ms 13240 KB Execution timed out (wall clock limit exceeded)
15 Runtime error 199 ms 13504 KB Execution timed out (wall clock limit exceeded)
16 Incorrect 246 ms 12844 KB Output isn't correct
17 Runtime error 189 ms 13504 KB Execution timed out (wall clock limit exceeded)
18 Runtime error 273 ms 13504 KB Execution timed out (wall clock limit exceeded)
19 Runtime error 263 ms 12712 KB Execution timed out (wall clock limit exceeded)
20 Incorrect 0 ms 9544 KB Output isn't correct
21 Incorrect 0 ms 9544 KB Output isn't correct
22 Incorrect 226 ms 13504 KB Output isn't correct
23 Incorrect 183 ms 12712 KB Output isn't correct
24 Runtime error 249 ms 13504 KB Execution timed out (wall clock limit exceeded)
25 Runtime error 199 ms 12848 KB Execution timed out (wall clock limit exceeded)
# Verdict Execution time Memory Grader output
1 Incorrect 0 ms 9544 KB Output isn't correct
2 Incorrect 6 ms 9544 KB Output isn't correct
3 Incorrect 236 ms 12976 KB Output isn't correct
4 Runtime error 243 ms 12844 KB Execution timed out (wall clock limit exceeded)
5 Runtime error 223 ms 13240 KB Execution timed out (wall clock limit exceeded)
6 Runtime error 769 ms 23404 KB Execution timed out (wall clock limit exceeded)
7 Incorrect 0 ms 9544 KB Output isn't correct
8 Incorrect 0 ms 9544 KB Output isn't correct
9 Incorrect 0 ms 9544 KB Output isn't correct
10 Incorrect 0 ms 9544 KB Output isn't correct
11 Incorrect 0 ms 9544 KB Output isn't correct
12 Incorrect 0 ms 9544 KB Output isn't correct
13 Incorrect 3 ms 9544 KB Output isn't correct
14 Incorrect 0 ms 9544 KB Output isn't correct
15 Incorrect 0 ms 9544 KB Output isn't correct
16 Incorrect 0 ms 9544 KB Output isn't correct
17 Incorrect 3 ms 9544 KB Output isn't correct
18 Incorrect 0 ms 9544 KB Output isn't correct
19 Incorrect 0 ms 9544 KB Output isn't correct
20 Incorrect 0 ms 9544 KB Output isn't correct
21 Incorrect 9 ms 9676 KB Output isn't correct
22 Incorrect 0 ms 9544 KB Output isn't correct
23 Runtime error 193 ms 12316 KB Execution timed out (wall clock limit exceeded)
24 Incorrect 256 ms 13108 KB Output isn't correct
25 Runtime error 226 ms 12976 KB Execution timed out (wall clock limit exceeded)
26 Runtime error 219 ms 12976 KB Execution timed out (wall clock limit exceeded)
27 Runtime error 189 ms 12712 KB Execution timed out (wall clock limit exceeded)
28 Runtime error 193 ms 13376 KB Execution timed out (wall clock limit exceeded)
29 Runtime error 673 ms 20764 KB Execution timed out (wall clock limit exceeded)
30 Runtime error 196 ms 12712 KB Execution timed out (wall clock limit exceeded)
31 Runtime error 179 ms 12844 KB Execution timed out (wall clock limit exceeded)
32 Runtime error 199 ms 13372 KB Execution timed out (wall clock limit exceeded)
33 Incorrect 183 ms 13108 KB Output isn't correct
34 Runtime error 159 ms 12844 KB Execution timed out (wall clock limit exceeded)
35 Runtime error 223 ms 12844 KB Execution timed out (wall clock limit exceeded)
36 Runtime error 179 ms 13240 KB Execution timed out (wall clock limit exceeded)
37 Runtime error 626 ms 23404 KB Execution timed out (wall clock limit exceeded)
38 Runtime error 233 ms 12844 KB Execution timed out (wall clock limit exceeded)
39 Runtime error 203 ms 13372 KB Execution timed out (wall clock limit exceeded)
40 Runtime error 193 ms 13108 KB Execution timed out (wall clock limit exceeded)
41 Runtime error 219 ms 12844 KB Execution timed out (wall clock limit exceeded)
42 Incorrect 209 ms 12712 KB Output isn't correct
43 Runtime error 183 ms 12712 KB Execution timed out (wall clock limit exceeded)
44 Incorrect 263 ms 13240 KB Output isn't correct
45 Runtime error 686 ms 21820 KB Execution timed out (wall clock limit exceeded)
46 Incorrect 213 ms 12712 KB Output isn't correct
47 Runtime error 219 ms 13108 KB Execution timed out (wall clock limit exceeded)
48 Incorrect 259 ms 12844 KB Output isn't correct
49 Runtime error 243 ms 13240 KB Execution timed out (wall clock limit exceeded)
50 Runtime error 179 ms 12976 KB Execution timed out (wall clock limit exceeded)
51 Runtime error 203 ms 13108 KB Execution timed out (wall clock limit exceeded)
52 Incorrect 199 ms 12844 KB Output isn't correct
53 Runtime error 679 ms 21556 KB Execution timed out (wall clock limit exceeded)
54 Runtime error 183 ms 12844 KB Execution timed out (wall clock limit exceeded)