답안 #117693

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
117693 2019-06-17T06:41:07 Z 이온조(#2879) Segway (COI19_segway) C++14
0 / 100
3 ms 384 KB
#include <bits/stdc++.h>
using namespace std;

int cnt[333];
int a[20009], b[20009], c[20009], l[20009], p[20009], ans[20009];
bool chk[333];
vector<int> ev[55]; int MOD = 55, now = 0;

int main() {
    int N; scanf("%d",&N);
    for(int i=1; i<=N; i++) {
        scanf("%d%d%d", &a[i], &b[i], &c[i]);
        ev[a[i]].push_back(i);
    }
    int M; scanf("%d",&M);
    while(M--) {
        int foo; scanf("%d", &foo);
        chk[foo] = 1;
    }
    while(cnt[300] < N) {
        ++now;
        for(auto& it: ev[now % MOD]) {
            ++cnt[++p[it]];
            if(chk[p[it]] && !l[it]) l[it] = cnt[p[it] + 1] % 20;

            if(p[it] == 300) ans[it] = now;
            else if(l[it]) {
                --l[it];
                ev[(now + 1) % MOD].push_back(it);
            }
            else {
                int nxt;
                if(p[it] < 100) nxt = (now + a[it]) % MOD;
                else if(p[it] < 200) nxt = (now + b[it]) % MOD;
                else nxt = (now + c[it]) % MOD;
                ev[nxt].push_back(it);
            }
        }
        ev[now % MOD].clear();
    }
    for(int i=1; i<=N; i++) printf("%d\n", ans[i]);
    return 0;
}

Compilation message

segway.cpp: In function 'int main()':
segway.cpp:10:17: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
     int N; scanf("%d",&N);
            ~~~~~^~~~~~~~~
segway.cpp:12:14: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
         scanf("%d%d%d", &a[i], &b[i], &c[i]);
         ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
segway.cpp:15:17: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
     int M; scanf("%d",&M);
            ~~~~~^~~~~~~~~
segway.cpp:17:23: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
         int foo; scanf("%d", &foo);
                  ~~~~~^~~~~~~~~~~~
# 결과 실행 시간 메모리 Grader output
1 Correct 2 ms 384 KB Output is correct
2 Incorrect 3 ms 384 KB Output isn't correct
3 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 2 ms 384 KB Output is correct
2 Correct 2 ms 384 KB Output is correct
3 Incorrect 2 ms 384 KB Output isn't correct
4 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 2 ms 384 KB Output is correct
2 Incorrect 3 ms 384 KB Output isn't correct
3 Halted 0 ms 0 KB -