Submission #409286

#TimeUsernameProblemLanguageResultExecution timeMemory
409286victoriadJakarta Skyscrapers (APIO15_skyscraper)C++14
10 / 100
1089 ms332 KiB
#include <cmath>
#include <cstdio>
#include <vector>
#include <iostream>
#include <algorithm>
#include <utility>
#include <queue>
#include <map>
#include <iomanip>
#include <stack>
#include <fstream>
using namespace std;
 
 int menor(vector<vector<int> >&mov,int z,int u){
	 int n=mov.size();
	 vector<int>d(n,1e9);
	 priority_queue<pair<int,int >  >pq;
	pq.push(make_pair(0,z));
	d[z]=0;
	while(!pq.empty()){
		int t=pq.top().first;
		t*=-1;
		int nt=pq.top().second;
		if(t>d[nt])continue;
		if(t>=d[u])break;
		pq.pop();
		for(int c:mov[nt]){
			int x=nt+c,o=1+d[nt];
			while(x<=n-1){
				if(o<d[x]){
					d[x]=o;
					pq.push(make_pair(-d[x],x));
				}
				x+=c;
				o++;
			}
			int a=nt-c,u=1+d[nt];
			while(a>=0){
				if(u<d[a]){
					d[a]=u;
					pq.push(make_pair(-d[a],a));
				}
				u++;
				a-=c;
			}
			
		}

	}
	if(d[u]==1e9){
		return -1;
	}
	else{
		return d[u];
	}
 }
 
int main(){
  ios::sync_with_stdio(false);
   cin.tie(NULL);
    int n,m,b,p,x,a,z,u;
	cin>>n>>m;
	vector<vector<int> >mov(n);
	for(int i=0;i<m;i++){
		cin>>x>>a;
		mov[x].push_back(a);
		if(i==0)z=x;
		if(i==1)u=x;
	}
	cout<<menor(mov,z,u);

    
  return 0;
}

Compilation message (stderr)

skyscraper.cpp: In function 'int main()':
skyscraper.cpp:61:13: warning: unused variable 'b' [-Wunused-variable]
   61 |     int n,m,b,p,x,a,z,u;
      |             ^
skyscraper.cpp:61:15: warning: unused variable 'p' [-Wunused-variable]
   61 |     int n,m,b,p,x,a,z,u;
      |               ^
skyscraper.cpp:70:21: warning: 'u' may be used uninitialized in this function [-Wmaybe-uninitialized]
   70 |  cout<<menor(mov,z,u);
      |                     ^
skyscraper.cpp:70:21: warning: 'z' may be used uninitialized in this function [-Wmaybe-uninitialized]
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...