답안 #1092766

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
1092766 2024-09-25T02:12:22 Z modwwe Escape Route 2 (JOI24_escape2) C++17
54 / 100
3000 ms 51796 KB
#pragma GCC optimize("Ofast,unroll-loops")
#include<bits/stdc++.h>
#define int long long
//#define ll long long
#define down cout<<'\n';
#define debug cout<<" cucuucucuuu",down
#define NHP     ios_base::sync_with_stdio(0);cout.tie(0);cin.tie(0);
#define modwwe  int t;cin>>t; while(t--)
#define bit(i,j) (i>>j&1)
#define sobit(a) __builtin_popcountll(a)
#define task "test"
#define fin(x) freopen(x".inp","r",stdin)
#define fou(x) freopen(x".out","w",stdout)
#define pb push_back
#define checktime   cerr << (double)clock() / CLOCKS_PER_SEC * 1000  << " ms";
using namespace std;
#define getchar_unlocked getchar

inline int scan()
{
    char c = getchar_unlocked();
    int x = 0;
    while (c < '0' || c > '9')
    {
        c = getchar_unlocked();
    }
    while (c >= '0' && c <= '9')
    {
        x = (x << 1) + (x << 3) + c - '0';
        c = getchar_unlocked();
    }
    return x;
}

void phongbeo();
const int inf = 1e17;
const int mod2 = 1e9 + 9;
const int  mod1 = 998244353;
struct icd
{
    long double a;
    int b;
};
struct ib
{
    int a;
    int b;
};
struct ic
{
    int a, b, c;
};
struct id
{
    int a, b, c, d;
};
struct ie
{
    int a, b, c, d, e;

};

int n, m, s1, s2, s4, s3, sf, k, s5, s6, mx, s7, s8, s9, mx2, res, dem2 = 0, dem = 0, s33, dem3, dem4, l, r, mid, l2, r2, center;
int  i, s10, s12,k1,k2,s11;
int kk;
int el = 19;
main()
{
 //   fin(task);
  //  fou(task);
    NHP
    /// cin>>s1;
///modwwe
    phongbeo();
    // checktime
}
int s,t;
vector<ib> a[100001];
int b[100001];
vector<int> c[100001];
ib d[100001];
ib st[17][100001];
vector<int> vv;
bool cmp(ib a,ib b)
{
    return a.a<b.a;
}
void phongbeo()
{
    cin>>n>>t;
    for(int i=1; i<n; i++)
    {
        cin>>k;
        b[i]=k;
        a[i].resize(k+1);
        c[i].resize(k+1);
        s9+=k;
        for(int j=1; j<=k; j++)
            cin>>a[i][j].a>>a[i][j].b,c[i][j]=++dem,d[dem]= {i,j};
        sort(a[i].begin()+1,a[i].end(),cmp);
        for(int j=k-1; j>=1; --j)
            a[i][j].b=min(a[i][j].b,a[i][j+1].b);
    }
    for(int i=1; i<n-1; i++)
    {
        vv.clear();
        for(int j=1; j<=b[i+1]; j++)
            vv.pb(a[i+1][j].a);
        for(int j=1; j<=b[i]; j++)
        {
            if(a[i][j].b>vv.back())
            {
                s3=vv[0]+t-a[i][j].a;
                st[0][c[i][j]]= {c[i+1][1],s3};
            }
            else
            {
                s2=lower_bound(vv.begin(),vv.end(),a[i][j].b)-vv.begin()+1;
                s3=a[i+1][s2].a-a[i][j].a;
                st[0][c[i][j]]= {c[i+1][s2],s3};
            }
        }
    }
    for(int i=1; i<17; i++)
        for(int j=1; j<=s9; j++)
            st[i][j].a=st[i-1][st[i-1][j].a].a,
                    st[i][j].b=st[i-1][j].b+st[i-1][st[i-1][j].a].b;
    cin>>m;
    for(int i=1; i<=m; i++)
    {
        cin>>l>>r;
        if(l==r)
        {
            cout<<0,down continue;
        }
        for(int j=1; j<=b[l]; j++)
        {
            s=r-l-1;
            s3=c[l][j];
            s4=0;/// 3->4->0
            for(int f=0; f<17; f++)
                if(bit(s,f))
                    s4+=st[f][s3].b,s3=st[f][s3].a;
            if(j==1)s5=s4+a[r-1][d[s3].b].b-a[r-1][d[s3].b].a;
            else s5=min(s4+a[r-1][d[s3].b].b-a[r-1][d[s3].b].a,s5);
        }
        cout<<s5,down
    }
}

Compilation message

Main.cpp:67:1: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
   67 | main()
      | ^~~~
# 결과 실행 시간 메모리 Grader output
1 Correct 3 ms 5208 KB Output is correct
2 Correct 53 ms 9236 KB Output is correct
3 Correct 53 ms 10584 KB Output is correct
4 Correct 75 ms 12376 KB Output is correct
5 Correct 60 ms 11000 KB Output is correct
6 Correct 74 ms 12368 KB Output is correct
7 Correct 74 ms 12376 KB Output is correct
8 Correct 60 ms 10576 KB Output is correct
9 Correct 75 ms 12400 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 3 ms 5208 KB Output is correct
2 Correct 53 ms 9236 KB Output is correct
3 Correct 53 ms 10584 KB Output is correct
4 Correct 75 ms 12376 KB Output is correct
5 Correct 60 ms 11000 KB Output is correct
6 Correct 74 ms 12368 KB Output is correct
7 Correct 74 ms 12376 KB Output is correct
8 Correct 60 ms 10576 KB Output is correct
9 Correct 75 ms 12400 KB Output is correct
10 Correct 2 ms 5212 KB Output is correct
11 Correct 69 ms 11608 KB Output is correct
12 Correct 75 ms 11600 KB Output is correct
13 Correct 95 ms 11344 KB Output is correct
14 Correct 67 ms 11540 KB Output is correct
15 Correct 69 ms 11856 KB Output is correct
16 Correct 47 ms 9300 KB Output is correct
17 Correct 67 ms 12112 KB Output is correct
18 Correct 69 ms 11896 KB Output is correct
19 Correct 80 ms 12112 KB Output is correct
20 Correct 70 ms 11864 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 3 ms 5208 KB Output is correct
2 Correct 53 ms 9236 KB Output is correct
3 Correct 53 ms 10584 KB Output is correct
4 Correct 75 ms 12376 KB Output is correct
5 Correct 60 ms 11000 KB Output is correct
6 Correct 74 ms 12368 KB Output is correct
7 Correct 74 ms 12376 KB Output is correct
8 Correct 60 ms 10576 KB Output is correct
9 Correct 75 ms 12400 KB Output is correct
10 Correct 174 ms 41152 KB Output is correct
11 Correct 339 ms 51792 KB Output is correct
12 Correct 279 ms 51796 KB Output is correct
13 Correct 273 ms 49748 KB Output is correct
14 Correct 295 ms 51792 KB Output is correct
15 Correct 296 ms 51716 KB Output is correct
16 Correct 161 ms 41296 KB Output is correct
17 Correct 265 ms 51792 KB Output is correct
18 Correct 108 ms 42556 KB Output is correct
19 Correct 98 ms 42072 KB Output is correct
20 Correct 93 ms 42480 KB Output is correct
21 Correct 96 ms 42536 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 3 ms 5208 KB Output is correct
2 Correct 53 ms 9236 KB Output is correct
3 Correct 53 ms 10584 KB Output is correct
4 Correct 75 ms 12376 KB Output is correct
5 Correct 60 ms 11000 KB Output is correct
6 Correct 74 ms 12368 KB Output is correct
7 Correct 74 ms 12376 KB Output is correct
8 Correct 60 ms 10576 KB Output is correct
9 Correct 75 ms 12400 KB Output is correct
10 Correct 2 ms 5212 KB Output is correct
11 Correct 69 ms 11608 KB Output is correct
12 Correct 75 ms 11600 KB Output is correct
13 Correct 95 ms 11344 KB Output is correct
14 Correct 67 ms 11540 KB Output is correct
15 Correct 69 ms 11856 KB Output is correct
16 Correct 47 ms 9300 KB Output is correct
17 Correct 67 ms 12112 KB Output is correct
18 Correct 69 ms 11896 KB Output is correct
19 Correct 80 ms 12112 KB Output is correct
20 Correct 70 ms 11864 KB Output is correct
21 Correct 174 ms 41152 KB Output is correct
22 Correct 339 ms 51792 KB Output is correct
23 Correct 279 ms 51796 KB Output is correct
24 Correct 273 ms 49748 KB Output is correct
25 Correct 295 ms 51792 KB Output is correct
26 Correct 296 ms 51716 KB Output is correct
27 Correct 161 ms 41296 KB Output is correct
28 Correct 265 ms 51792 KB Output is correct
29 Correct 108 ms 42556 KB Output is correct
30 Correct 98 ms 42072 KB Output is correct
31 Correct 93 ms 42480 KB Output is correct
32 Correct 96 ms 42536 KB Output is correct
33 Correct 275 ms 46024 KB Output is correct
34 Correct 224 ms 45904 KB Output is correct
35 Correct 195 ms 42672 KB Output is correct
36 Correct 200 ms 42608 KB Output is correct
37 Correct 206 ms 43852 KB Output is correct
38 Correct 168 ms 39764 KB Output is correct
39 Correct 250 ms 49236 KB Output is correct
40 Correct 182 ms 35668 KB Output is correct
41 Correct 177 ms 38768 KB Output is correct
42 Correct 260 ms 49396 KB Output is correct
43 Correct 198 ms 45396 KB Output is correct
44 Correct 235 ms 47184 KB Output is correct
45 Correct 91 ms 40276 KB Output is correct
46 Correct 89 ms 38512 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 3 ms 5212 KB Output is correct
2 Correct 3 ms 5212 KB Output is correct
3 Correct 304 ms 35936 KB Output is correct
4 Correct 303 ms 35924 KB Output is correct
5 Correct 295 ms 35756 KB Output is correct
6 Correct 291 ms 35924 KB Output is correct
7 Correct 301 ms 35904 KB Output is correct
8 Correct 295 ms 35936 KB Output is correct
9 Correct 284 ms 36188 KB Output is correct
10 Execution timed out 3053 ms 33108 KB Time limit exceeded
11 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 3 ms 5208 KB Output is correct
2 Correct 53 ms 9236 KB Output is correct
3 Correct 53 ms 10584 KB Output is correct
4 Correct 75 ms 12376 KB Output is correct
5 Correct 60 ms 11000 KB Output is correct
6 Correct 74 ms 12368 KB Output is correct
7 Correct 74 ms 12376 KB Output is correct
8 Correct 60 ms 10576 KB Output is correct
9 Correct 75 ms 12400 KB Output is correct
10 Correct 2 ms 5212 KB Output is correct
11 Correct 69 ms 11608 KB Output is correct
12 Correct 75 ms 11600 KB Output is correct
13 Correct 95 ms 11344 KB Output is correct
14 Correct 67 ms 11540 KB Output is correct
15 Correct 69 ms 11856 KB Output is correct
16 Correct 47 ms 9300 KB Output is correct
17 Correct 67 ms 12112 KB Output is correct
18 Correct 69 ms 11896 KB Output is correct
19 Correct 80 ms 12112 KB Output is correct
20 Correct 70 ms 11864 KB Output is correct
21 Correct 174 ms 41152 KB Output is correct
22 Correct 339 ms 51792 KB Output is correct
23 Correct 279 ms 51796 KB Output is correct
24 Correct 273 ms 49748 KB Output is correct
25 Correct 295 ms 51792 KB Output is correct
26 Correct 296 ms 51716 KB Output is correct
27 Correct 161 ms 41296 KB Output is correct
28 Correct 265 ms 51792 KB Output is correct
29 Correct 108 ms 42556 KB Output is correct
30 Correct 98 ms 42072 KB Output is correct
31 Correct 93 ms 42480 KB Output is correct
32 Correct 96 ms 42536 KB Output is correct
33 Correct 275 ms 46024 KB Output is correct
34 Correct 224 ms 45904 KB Output is correct
35 Correct 195 ms 42672 KB Output is correct
36 Correct 200 ms 42608 KB Output is correct
37 Correct 206 ms 43852 KB Output is correct
38 Correct 168 ms 39764 KB Output is correct
39 Correct 250 ms 49236 KB Output is correct
40 Correct 182 ms 35668 KB Output is correct
41 Correct 177 ms 38768 KB Output is correct
42 Correct 260 ms 49396 KB Output is correct
43 Correct 198 ms 45396 KB Output is correct
44 Correct 235 ms 47184 KB Output is correct
45 Correct 91 ms 40276 KB Output is correct
46 Correct 89 ms 38512 KB Output is correct
47 Correct 3 ms 5212 KB Output is correct
48 Correct 3 ms 5212 KB Output is correct
49 Correct 304 ms 35936 KB Output is correct
50 Correct 303 ms 35924 KB Output is correct
51 Correct 295 ms 35756 KB Output is correct
52 Correct 291 ms 35924 KB Output is correct
53 Correct 301 ms 35904 KB Output is correct
54 Correct 295 ms 35936 KB Output is correct
55 Correct 284 ms 36188 KB Output is correct
56 Execution timed out 3053 ms 33108 KB Time limit exceeded
57 Halted 0 ms 0 KB -