답안 #50201

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
50201 2018-06-08T09:50:38 Z mra2322001 Boat (APIO16_boat) C++14
9 / 100
23 ms 7676 KB
#include <bits/stdc++.h>
#define f0(i, n) for(int i=(0); i<n; i++)
#define f1(i, n) for(int i=(1); i<=n; i++)
#define x first
#define y second
#define mod 1000000007

using namespace std;
typedef long long ll;
typedef pair <int, int> pii;
const int N = 502;

int n;
pii a[N];

void sub1(){
    vector <int> f(n + 3, 0);
    f1(i, n){
        f[i] = 1;
        for(int j = i - 1; j >= 1; j--){
            if(a[j].x < a[i].x){
                f[i] = (f[i] + f[j])%mod;
            }
        }
    }
    int res = 0; /// phai co it nhat 1 tau gui
    f1(i, n) res = (res + f[i])%mod;
    cout << res;
    exit(0);
}

void sub2(){
    vector <vector <int> > f;
    f.resize(n + 1);
    f1(i, n){
        f[i].resize((a[i].y - a[i].x + 2), 0);
    }
    f1(i, n){
        int sz = a[i].y - a[i].x + 1;
        f0(j, sz){
            f[i][j] = 1;
            if(j != 0) f[i][j] = (f[i][j] + f[i][j - 1])%mod;
            for(int k = i - 1; k >= 1; k--){
                int x = a[i].x + j, y = -1;
                if(x > a[k].y) y = a[k].y - a[k].x;
                else y = x - a[k].x - 1;
                f[i][j] = (f[i][j] + f[k][y])%mod;
            }
        }
    }
    int res = 0;
    f1(i, n){
        int sz = a[i].y - a[i].x + 1;
        res = (res + f[i][sz - 1])%mod;
    }
    cout << res;
    exit(0);
}

main(){
    ios_base::sync_with_stdio(0);
 
    bool giong = 1; ll dem = 0;
    cin >> n;
    f1(i, n){
        cin >> a[i].x >> a[i].y;
        if(a[i].x != a[i].y) giong = 0;
        dem += (a[i].y - a[i].x + 1);
    }
    if(giong) sub1();
    if(dem <= 1e6 + 560) sub2();
}

Compilation message

boat.cpp:60:6: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
 main(){
      ^
# 결과 실행 시간 메모리 Grader output
1 Correct 3 ms 376 KB Output is correct
2 Correct 3 ms 376 KB Output is correct
3 Correct 3 ms 464 KB Output is correct
4 Correct 3 ms 468 KB Output is correct
5 Correct 3 ms 536 KB Output is correct
6 Correct 4 ms 536 KB Output is correct
7 Correct 3 ms 644 KB Output is correct
8 Correct 3 ms 644 KB Output is correct
9 Correct 3 ms 644 KB Output is correct
10 Correct 3 ms 644 KB Output is correct
11 Correct 3 ms 644 KB Output is correct
12 Correct 3 ms 644 KB Output is correct
13 Correct 3 ms 644 KB Output is correct
14 Correct 3 ms 644 KB Output is correct
15 Correct 3 ms 644 KB Output is correct
16 Correct 3 ms 644 KB Output is correct
17 Correct 4 ms 644 KB Output is correct
18 Correct 3 ms 644 KB Output is correct
19 Correct 3 ms 644 KB Output is correct
20 Correct 3 ms 644 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 3 ms 376 KB Output is correct
2 Correct 3 ms 376 KB Output is correct
3 Correct 3 ms 464 KB Output is correct
4 Correct 3 ms 468 KB Output is correct
5 Correct 3 ms 536 KB Output is correct
6 Correct 4 ms 536 KB Output is correct
7 Correct 3 ms 644 KB Output is correct
8 Correct 3 ms 644 KB Output is correct
9 Correct 3 ms 644 KB Output is correct
10 Correct 3 ms 644 KB Output is correct
11 Correct 3 ms 644 KB Output is correct
12 Correct 3 ms 644 KB Output is correct
13 Correct 3 ms 644 KB Output is correct
14 Correct 3 ms 644 KB Output is correct
15 Correct 3 ms 644 KB Output is correct
16 Correct 3 ms 644 KB Output is correct
17 Correct 4 ms 644 KB Output is correct
18 Correct 3 ms 644 KB Output is correct
19 Correct 3 ms 644 KB Output is correct
20 Correct 3 ms 644 KB Output is correct
21 Runtime error 23 ms 7676 KB Execution killed with signal 11 (could be triggered by violating memory limits)
22 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 3 ms 7676 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 3 ms 376 KB Output is correct
2 Correct 3 ms 376 KB Output is correct
3 Correct 3 ms 464 KB Output is correct
4 Correct 3 ms 468 KB Output is correct
5 Correct 3 ms 536 KB Output is correct
6 Correct 4 ms 536 KB Output is correct
7 Correct 3 ms 644 KB Output is correct
8 Correct 3 ms 644 KB Output is correct
9 Correct 3 ms 644 KB Output is correct
10 Correct 3 ms 644 KB Output is correct
11 Correct 3 ms 644 KB Output is correct
12 Correct 3 ms 644 KB Output is correct
13 Correct 3 ms 644 KB Output is correct
14 Correct 3 ms 644 KB Output is correct
15 Correct 3 ms 644 KB Output is correct
16 Correct 3 ms 644 KB Output is correct
17 Correct 4 ms 644 KB Output is correct
18 Correct 3 ms 644 KB Output is correct
19 Correct 3 ms 644 KB Output is correct
20 Correct 3 ms 644 KB Output is correct
21 Runtime error 23 ms 7676 KB Execution killed with signal 11 (could be triggered by violating memory limits)
22 Halted 0 ms 0 KB -