제출 #1346224

#제출 시각아이디문제언어결과실행 시간메모리
1346224Faisal_SaqibCeste (COCI17_ceste)C++20
컴파일 에러
0 ms0 KiB
#include <iostream>
#include <queue>
#include <vector>
using namespace std;
const int N=3000,SQ=1000;
int t[N],c[N];
map<int,int> vis[N];
vector<pair<int,int>> ma[N];
typedef long long ll;
#define state pair<pair<ll,pair<ll,ll>>,int> 
#define d first.first
#define v second
#define st first.second.first
#define sc first.second.second
ll dp[N];
int main()
{
	ios::sync_with_stdio(0);
	cin.tie(0);
	cout.tie(0);
	int n,m;
	cin>>n>>m;
	for(int i=0;i<m;i++)
	{
		int x,y;
		cin>>x>>y>>t[i]>>c[i];
		ma[x].push_back({i,y});
		ma[y].push_back({i,x});
	}		
	for(int i=0;i<=n;i++)
	{
		dp[i]=1e15;
	}
	priority_queue<state,vector<state>,greater<state>>pq;
	dp[1]=0;
	pq.push(make_pair(make_pair(0,1),make_pair(0,0)));
	while(pq.size()>0)
	{
		auto p=pq.top();
		pq.pop();
		if(vis[p.v][p.d]>=4)
		{
			continue;
		}
		vis[p.v][p.d]++;
		for(auto [id,u]:ma[p.v])
		{
			ll cd=(p.st+t[id])*(p.sc+c[id]);
			dp[u]=min(dp[u],cd);
			pq.push(make_pair(make_pair(cd,u),make_pair(p.st+t[id],p.sc+c[id])));
		}
	}
	for(int i=2;i<=n;i++)
	{
		if(dp[i]==1e15)
		{
			cout<<-1<<endl;
		}
		else
		{
			cout<<dp[i]<<endl;
		}
	}
}

컴파일 시 표준 에러 (stderr) 메시지

ceste.cpp:7:1: error: 'map' does not name a type
    7 | map<int,int> vis[N];
      | ^~~
ceste.cpp: In function 'int main()':
ceste.cpp:36:16: error: no matching function for call to 'std::priority_queue<std::pair<std::pair<long long int, std::pair<long long int, long long int> >, int>, std::vector<std::pair<std::pair<long long int, std::pair<long long int, long long int> >, int> >, std::greater<std::pair<std::pair<long long int, std::pair<long long int, long long int> >, int> > >::push(std::pair<std::pair<int, int>, std::pair<int, int> >)'
   36 |         pq.push(make_pair(make_pair(0,1),make_pair(0,0)));
      |         ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/13/queue:66,
                 from ceste.cpp:2:
/usr/include/c++/13/bits/stl_queue.h:738:7: note: candidate: 'void std::priority_queue<_Tp, _Sequence, _Compare>::push(const value_type&) [with _Tp = std::pair<std::pair<long long int, std::pair<long long int, long long int> >, int>; _Sequence = std::vector<std::pair<std::pair<long long int, std::pair<long long int, long long int> >, int> >; _Compare = std::greater<std::pair<std::pair<long long int, std::pair<long long int, long long int> >, int> >; value_type = std::pair<std::pair<long long int, std::pair<long long int, long long int> >, int>]'
  738 |       push(const value_type& __x)
      |       ^~~~
/usr/include/c++/13/bits/stl_queue.h:738:30: note:   no known conversion for argument 1 from 'std::pair<std::pair<int, int>, std::pair<int, int> >' to 'const std::priority_queue<std::pair<std::pair<long long int, std::pair<long long int, long long int> >, int>, std::vector<std::pair<std::pair<long long int, std::pair<long long int, long long int> >, int> >, std::greater<std::pair<std::pair<long long int, std::pair<long long int, long long int> >, int> > >::value_type&' {aka 'const std::pair<std::pair<long long int, std::pair<long long int, long long int> >, int>&'}
  738 |       push(const value_type& __x)
      |            ~~~~~~~~~~~~~~~~~~^~~
/usr/include/c++/13/bits/stl_queue.h:746:7: note: candidate: 'void std::priority_queue<_Tp, _Sequence, _Compare>::push(value_type&&) [with _Tp = std::pair<std::pair<long long int, std::pair<long long int, long long int> >, int>; _Sequence = std::vector<std::pair<std::pair<long long int, std::pair<long long int, long long int> >, int> >; _Compare = std::greater<std::pair<std::pair<long long int, std::pair<long long int, long long int> >, int> >; value_type = std::pair<std::pair<long long int, std::pair<long long int, long long int> >, int>]'
  746 |       push(value_type&& __x)
      |       ^~~~
/usr/include/c++/13/bits/stl_queue.h:746:25: note:   no known conversion for argument 1 from 'std::pair<std::pair<int, int>, std::pair<int, int> >' to 'std::priority_queue<std::pair<std::pair<long long int, std::pair<long long int, long long int> >, int>, std::vector<std::pair<std::pair<long long int, std::pair<long long int, long long int> >, int> >, std::greater<std::pair<std::pair<long long int, std::pair<long long int, long long int> >, int> > >::value_type&&' {aka 'std::pair<std::pair<long long int, std::pair<long long int, long long int> >, int>&&'}
  746 |       push(value_type&& __x)
      |            ~~~~~~~~~~~~~^~~
ceste.cpp:41:20: error: 'vis' was not declared in this scope
   41 |                 if(vis[p.v][p.d]>=4)
      |                    ^~~
ceste.cpp:45:17: error: 'vis' was not declared in this scope
   45 |                 vis[p.v][p.d]++;
      |                 ^~~
ceste.cpp:50:32: error: no matching function for call to 'std::priority_queue<std::pair<std::pair<long long int, std::pair<long long int, long long int> >, int>, std::vector<std::pair<std::pair<long long int, std::pair<long long int, long long int> >, int> >, std::greater<std::pair<std::pair<long long int, std::pair<long long int, long long int> >, int> > >::push(std::pair<std::pair<long long int, int>, std::pair<long long int, long long int> >)'
   50 |                         pq.push(make_pair(make_pair(cd,u),make_pair(p.st+t[id],p.sc+c[id])));
      |                         ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/13/bits/stl_queue.h:738:7: note: candidate: 'void std::priority_queue<_Tp, _Sequence, _Compare>::push(const value_type&) [with _Tp = std::pair<std::pair<long long int, std::pair<long long int, long long int> >, int>; _Sequence = std::vector<std::pair<std::pair<long long int, std::pair<long long int, long long int> >, int> >; _Compare = std::greater<std::pair<std::pair<long long int, std::pair<long long int, long long int> >, int> >; value_type = std::pair<std::pair<long long int, std::pair<long long int, long long int> >, int>]'
  738 |       push(const value_type& __x)
      |       ^~~~
/usr/include/c++/13/bits/stl_queue.h:738:30: note:   no known conversion for argument 1 from 'std::pair<std::pair<long long int, int>, std::pair<long long int, long long int> >' to 'const std::priority_queue<std::pair<std::pair<long long int, std::pair<long long int, long long int> >, int>, std::vector<std::pair<std::pair<long long int, std::pair<long long int, long long int> >, int> >, std::greater<std::pair<std::pair<long long int, std::pair<long long int, long long int> >, int> > >::value_type&' {aka 'const std::pair<std::pair<long long int, std::pair<long long int, long long int> >, int>&'}
  738 |       push(const value_type& __x)
      |            ~~~~~~~~~~~~~~~~~~^~~
/usr/include/c++/13/bits/stl_queue.h:746:7: note: candidate: 'void std::priority_queue<_Tp, _Sequence, _Compare>::push(value_type&&) [with _Tp = std::pair<std::pair<long long int, std::pair<long long int, long long int> >, int>; _Sequence = std::vector<std::pair<std::pair<long long int, std::pair<long long int, long long int> >, int> >; _Compare = std::greater<std::pair<std::pair<long long int, std::pair<long long int, long long int> >, int> >; value_type = std::pair<std::pair<long long int, std::pair<long long int, long long int> >, int>]'
  746 |       push(value_type&& __x)
      |       ^~~~
/usr/include/c++/13/bits/stl_queue.h:746:25: note:   no known conversion for argument 1 from 'std::pair<std::pair<long long int, int>, std::pair<long long int, long long int> >' to 'std::priority_queue<std::pair<std::pair<long long int, std::pair<long long int, long long int> >, int>, std::vector<std::pair<std::pair<long long int, std::pair<long long int, long long int> >, int> >, std::greater<std::pair<std::pair<long long int, std::pair<long long int, long long int> >, int> > >::value_type&&' {aka 'std::pair<std::pair<long long int, std::pair<long long int, long long int> >, int>&&'}
  746 |       push(value_type&& __x)
      |            ~~~~~~~~~~~~~^~~