답안 #162473

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
162473 2019-11-08T10:25:16 Z MvC Toll (BOI17_toll) C++11
39 / 100
3000 ms 7032 KB
#pragma GCC target("avx2")
#pragma GCC optimization("O3")
#pragma GCC optimization("unroll-loops")
#include <bits/stdc++.h>
#define rc(x) return cout<<x<<endl,0
#define pb push_back
#define mkp make_pair
#define in insert
#define er erase
#define fd find
#define fr first
#define sc second
typedef long long ll;
typedef long double ld;
const ll INF=0x3f3f3f3f3f3f3f3f;
const ll llinf=(1LL<<62);
const int inf=(1<<30);
const int nmax=5e4+50;
const int mod=1e9+7;
using namespace std;
int k,n,m,x,y,t,f[nmax],z,i,j,q;
vector<pair<int,int> >a[nmax];
int main()
{
	//freopen("sol.in","r",stdin);
	//freopen("sol.out","w",stdout);
	//mt19937 rng(chrono::steady_clock::now().time_since_epoch().count());
	ios_base::sync_with_stdio(false);cin.tie(0);cerr.tie(0);cout.tie(0);
	cin>>k>>n>>m>>q;
	while(m--)
	{
		cin>>x>>y>>t;
		a[x].pb(mkp(y,t));
	}
	while(q--)
	{
		cin>>x>>y;
		if(y/k<=x/k)cout<<-1<<'\n';
		else
		{
			for(i=x;i<=y;i++)f[i]=inf;
			f[x]=0;
			for(i=x;i<=y;i++)
			{
				if(f[i]==inf)continue;
				for(j=0;j<(int)a[i].size();j++)
				{
					z=a[i][j].fr,t=a[i][j].sc;
					f[z]=min(f[z],f[i]+t);
				}
			}
			if(f[y]==inf)cout<<-1<<'\n';
			else cout<<f[y]<<'\n';
		}
	}
	return 0;
}

Compilation message

toll.cpp:2:0: warning: ignoring #pragma GCC optimization [-Wunknown-pragmas]
 #pragma GCC optimization("O3")
 
toll.cpp:3:0: warning: ignoring #pragma GCC optimization [-Wunknown-pragmas]
 #pragma GCC optimization("unroll-loops")
# 결과 실행 시간 메모리 Grader output
1 Execution timed out 3006 ms 4444 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Execution timed out 3027 ms 5068 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 3 ms 1528 KB Output is correct
2 Correct 3 ms 1528 KB Output is correct
3 Correct 3 ms 1528 KB Output is correct
4 Correct 3 ms 1528 KB Output is correct
5 Correct 3 ms 1528 KB Output is correct
6 Correct 4 ms 1528 KB Output is correct
7 Correct 4 ms 1528 KB Output is correct
8 Correct 5 ms 1656 KB Output is correct
9 Correct 5 ms 1656 KB Output is correct
10 Correct 30 ms 4092 KB Output is correct
11 Correct 93 ms 4856 KB Output is correct
12 Correct 116 ms 6404 KB Output is correct
13 Correct 132 ms 6904 KB Output is correct
14 Correct 110 ms 5624 KB Output is correct
15 Correct 66 ms 4216 KB Output is correct
16 Correct 60 ms 4088 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 3 ms 1528 KB Output is correct
2 Correct 3 ms 1528 KB Output is correct
3 Correct 3 ms 1528 KB Output is correct
4 Correct 3 ms 1528 KB Output is correct
5 Correct 3 ms 1528 KB Output is correct
6 Correct 4 ms 1528 KB Output is correct
7 Correct 4 ms 1528 KB Output is correct
8 Correct 5 ms 1656 KB Output is correct
9 Correct 5 ms 1656 KB Output is correct
10 Correct 30 ms 4092 KB Output is correct
11 Correct 93 ms 4856 KB Output is correct
12 Correct 116 ms 6404 KB Output is correct
13 Correct 132 ms 6904 KB Output is correct
14 Correct 110 ms 5624 KB Output is correct
15 Correct 66 ms 4216 KB Output is correct
16 Correct 60 ms 4088 KB Output is correct
17 Correct 1486 ms 4988 KB Output is correct
18 Correct 14 ms 1528 KB Output is correct
19 Correct 3 ms 1656 KB Output is correct
20 Correct 3 ms 1528 KB Output is correct
21 Correct 3 ms 1528 KB Output is correct
22 Correct 3 ms 1532 KB Output is correct
23 Correct 7 ms 1656 KB Output is correct
24 Correct 16 ms 1656 KB Output is correct
25 Correct 24 ms 1784 KB Output is correct
26 Correct 20 ms 1656 KB Output is correct
27 Correct 169 ms 4188 KB Output is correct
28 Correct 1671 ms 6752 KB Output is correct
29 Correct 1901 ms 7032 KB Output is correct
30 Correct 1077 ms 5880 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Execution timed out 3006 ms 4444 KB Time limit exceeded
2 Halted 0 ms 0 KB -