답안 #272396

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
272396 2020-08-18T11:40:23 Z eohomegrownapps Restore Array (RMI19_restore) C++14
7 / 100
228 ms 512 KB
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;

int n,m;
int INF = 1e9;

void relaxedges(){
    int a[15001], b[15001], c[15001];
    for (int i = 0; i<m; i++){
        int l,r,k,v;
        cin>>l>>r>>k>>v;
        r++;
        if (v==0){
            a[i]=l;
            b[i]=r;
            c[i]=k-(r-l);
        } else {
            a[i]=r;
            b[i]=l;
            c[i]=(r-l)-k+1;
        }
    }
    for (int i = 0; i<n; i++){
        a[m+2*i]=i;
        b[m+2*i]=i+1;
        c[m+2*i]=-1;
        a[m+2*i+1]=i+1;
        b[m+2*i+1]=i;
        c[m+2*i+1]=0;
    }
    m+=2*n;
    bool changed = true;
    bool works = true;
    int vals[15001];
    vals[0]=0;
    for (int i = 1; i<=n; i++){
        vals[i]=INF;
    }
    for (int i = 0; i<=n; i++){
        bool changed = false;
        for (int i = 0; i<m; i++){
            if (vals[b[i]]>vals[a[i]]-c[i]){
                vals[b[i]]=vals[a[i]]-c[i];
                changed=true;
            }
        }
        if (changed&&i==n){
            works=false;
        }
        if (!changed){break;}
    }
    if (!works){
        cout<<-1<<'\n';
        return;
    }
    /*for (int i = 0; i<=n; i++){
        cout<<vals[i]<<' ';
    }cout<<'\n';*/
    for (int i = 0; i<n; i++){
        cout<<vals[i+1]-vals[i]<<' ';
    }cout<<'\n';
}


int main(){
    cin.tie(0);
    ios_base::sync_with_stdio(0);
    cin>>n>>m;
    /*if (n<=18){
        subtask1();
    } else {*/
        relaxedges();
    //}
}

Compilation message

restore.cpp: In function 'void relaxedges()':
restore.cpp:33:10: warning: unused variable 'changed' [-Wunused-variable]
   33 |     bool changed = true;
      |          ^~~~~~~
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 384 KB Output is correct
2 Correct 0 ms 384 KB Output is correct
3 Correct 1 ms 384 KB Output is correct
4 Correct 1 ms 384 KB Output is correct
5 Correct 1 ms 384 KB Output is correct
6 Correct 1 ms 384 KB Output is correct
7 Correct 1 ms 384 KB Output is correct
8 Correct 1 ms 384 KB Output is correct
9 Correct 0 ms 384 KB Output is correct
10 Correct 0 ms 384 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Incorrect 228 ms 512 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 228 ms 512 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 384 KB Output is correct
2 Correct 0 ms 384 KB Output is correct
3 Correct 1 ms 384 KB Output is correct
4 Correct 1 ms 384 KB Output is correct
5 Correct 1 ms 384 KB Output is correct
6 Correct 1 ms 384 KB Output is correct
7 Correct 1 ms 384 KB Output is correct
8 Correct 1 ms 384 KB Output is correct
9 Correct 0 ms 384 KB Output is correct
10 Correct 0 ms 384 KB Output is correct
11 Incorrect 228 ms 512 KB Output isn't correct
12 Halted 0 ms 0 KB -