제출 #281728

#제출 시각아이디문제언어결과실행 시간메모리
281728AKaan37Shortcut (IOI16_shortcut)C++17
23 / 100
2068 ms1280 KiB
//Bismillahirrahmanirrahim

//~ #pragma GCC optimize("Ofast,no-stack-protector,unroll-loops,fast-math")
//~ #pragma GCC target("sse,sse2,sse3,ssse3,sse4,popcnt,abm,mmx,avx,tune=native")
#pragma GCC optimize ("O3")
#pragma GCC target ("sse4")
#pragma GCC optimize ("unroll-loops")
#pragma GCC target ("avx2")
#include "shortcut.h"
#include <bits/stdc++.h>

using namespace std;

typedef long long lo;
typedef pair< lo,lo > PII;

#define fi first
#define se second
#define mp make_pair
#define endl "\n"
#define pb push_back
#define fio() ios_base::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL)
#define FOR for(int i=1;i<=n;i++)
#define mid ((start+end)/2)
#define ort ((bas+son)/2)

const lo inf = 100000000000000000;
const lo KOK = 100000;
const lo LOG = 30;
const lo li = 505;
const lo mod = 1000000007;

lo n,m,b[li],a[li],k,flag,t,dp[li][li];
lo cev;
string s;
vector<int> v;

long long find_shortcut(int n, std::vector<int> l, std::vector<int> d, int c){
	for(lo i=0;i<n;i++){
		lo say=0;
		for(lo j=i+1;j<n;j++){
			say+=l[j-1];
			dp[i][j]=say;
			//~ cout<<"dp["<<i<<"]["<<j<<"]= "<<dp[i][j]<<endl;
		}
		say=0;
		for(lo j=i-1;j>=0;j--){
			say+=l[j];
			dp[i][j]=say;
			//~ cout<<"dp["<<i<<"]["<<j<<"]= "<<dp[i][j]<<endl;
		}
	}
	
	lo mx=0,ind=0;
	cev=inf;
	for(lo i=0;i<n;i++){
		for(lo j=i+1;j<n;j++){
			lo at=0;
			for(lo jj=0;jj<n;jj++){
				for(lo ii=jj+1;ii<n;ii++){
					mx=min(dp[jj][ii]+d[ii]+d[jj],min(dp[ii][i]+dp[jj][j]+c+d[ii]+d[jj],dp[ii][j]+dp[jj][i]+c+d[ii]+d[jj]));
					at=max(at,mx);
				}
			}
			cev=min(cev,at);
		}
	}
    return cev;
}

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

shortcut.cpp: In function 'long long int find_shortcut(int, std::vector<int>, std::vector<int>, int)':
shortcut.cpp:54:10: warning: unused variable 'ind' [-Wunused-variable]
   54 |  lo mx=0,ind=0;
      |          ^~~
#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...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...