답안 #423931

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
423931 2021-06-11T14:14:00 Z jamezzz 치료 계획 (JOI20_treatment) C++17
0 / 100
3000 ms 16704 KB
#pragma GCC target("sse,sse2,sse3,ssse3,sse4,avx,avx2,fma")
#pragma GCC optimize("unroll-loops")

#include <bits/stdc++.h>
using namespace std;

#define sf scanf
#define pf printf
#define fi first
#define se second
#define pb emplace_back
#define LINF 1023456789123456789
#define all(x) x.begin(),x.end()
typedef long long ll;
typedef pair<int,int> ii;
typedef pair<ll,int> li;

#define maxn 200005

int n,m,t[maxn],l[maxn],r[maxn],c[maxn];
ll dist[maxn];
vector<int> d;
vector<ii> AL[maxn];
priority_queue<ii,vector<ii>,greater<ii>> pq;

int main(){
	sf("%d%d",&n,&m);
	d.pb(1);d.pb(n+1);
	for(int i=0;i<m;++i){
		sf("%d%d%d%d",&t[i],&l[i],&r[i],&c[i]);
		d.pb(l[i]);d.pb(r[i]+1);
	}
	sort(all(d));
	d.erase(unique(all(d)),d.end());
	for(int i=0;i<m;++i){
		l[i]=lower_bound(all(d),l[i])-d.begin();
		r[i]=lower_bound(all(d),r[i]+1)-d.begin();
		AL[l[i]].pb(r[i],c[i]);
	}
	n=d.size();
	for(int i=1;i<n;++i){
		dist[i]=LINF;
		AL[i].pb(i-1,0);
	}
	dist[0]=0;
	pq.push(li(0,0));
	while(!pq.empty()){
		ll d;int u;tie(d,u)=pq.top();pq.pop();
		if(d>dist[u])continue;
		for(ii pr:AL[u]){
			if(dist[pr.fi]>dist[u]+pr.se){
				dist[pr.fi]=dist[u]+pr.se;
				pq.push(li(dist[pr.fi],pr.fi));
			}
		}
	}
	if(dist[n-1]==LINF)pf("-1\n");
	else pf("%lld\n",dist[n-1]);
}

/*
10 5
1 5 10 3
1 1 6 5
1 2 8 3
1 6 10 4
1 1 3 1
*/

Compilation message

treatment.cpp: In function 'int main()':
treatment.cpp:27:4: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   27 |  sf("%d%d",&n,&m);
      |    ^
treatment.cpp:30:5: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   30 |   sf("%d%d%d%d",&t[i],&l[i],&r[i],&c[i]);
      |     ^
# 결과 실행 시간 메모리 Grader output
1 Correct 117 ms 11264 KB Output is correct
2 Correct 106 ms 11240 KB Output is correct
3 Correct 87 ms 10164 KB Output is correct
4 Correct 86 ms 10080 KB Output is correct
5 Correct 54 ms 8148 KB Output is correct
6 Correct 60 ms 8380 KB Output is correct
7 Correct 68 ms 8792 KB Output is correct
8 Correct 56 ms 8120 KB Output is correct
9 Correct 61 ms 8412 KB Output is correct
10 Correct 70 ms 9164 KB Output is correct
11 Correct 132 ms 13608 KB Output is correct
12 Correct 135 ms 13988 KB Output is correct
13 Correct 163 ms 16068 KB Output is correct
14 Correct 156 ms 16036 KB Output is correct
15 Execution timed out 3061 ms 16704 KB Time limit exceeded
16 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 4 ms 4940 KB Output is correct
2 Incorrect 3 ms 4940 KB Output isn't correct
3 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 4 ms 4940 KB Output is correct
2 Incorrect 3 ms 4940 KB Output isn't correct
3 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 117 ms 11264 KB Output is correct
2 Correct 106 ms 11240 KB Output is correct
3 Correct 87 ms 10164 KB Output is correct
4 Correct 86 ms 10080 KB Output is correct
5 Correct 54 ms 8148 KB Output is correct
6 Correct 60 ms 8380 KB Output is correct
7 Correct 68 ms 8792 KB Output is correct
8 Correct 56 ms 8120 KB Output is correct
9 Correct 61 ms 8412 KB Output is correct
10 Correct 70 ms 9164 KB Output is correct
11 Correct 132 ms 13608 KB Output is correct
12 Correct 135 ms 13988 KB Output is correct
13 Correct 163 ms 16068 KB Output is correct
14 Correct 156 ms 16036 KB Output is correct
15 Execution timed out 3061 ms 16704 KB Time limit exceeded
16 Halted 0 ms 0 KB -