#24165: 超過2s 請問該如何優化


aswendy062666@gmail.com (Leo)

學校 : 國立臺中第二高級中學
編號 : 123466
來源 : [1.174.112.142]
最後登入時間 :
2024-11-21 12:53:31
f607. 3. 切割費用 -- 2021年1月APCS | From: [42.76.48.129] | 發表日期 : 2021-01-24 21:43

#include<iostream>  
#include <algorithm>
using namespace std;
int main(){
int n,m,t=0,k=2;
cin>>n>>m;
long long int lon[n+2]={0},num[n+1];
lon[2]=m;
for(int a=0;n>a;a++){
int b,c;
cin>>b>>c;
num[c]=b;
}
for(int a=1;n>=a;a++){
for(int b=1;n>=b;b++)
{
  if(num[a]>lon[b]&&lon[b+1]>num[a]){t=t+lon[b+1]-lon[b];k++;
for(int c=k;c>b+1;c--){lon[c]=lon[c-1];}
lon[b+1]=num[a];
break;}
}
}
cout<<t<<endl;
}
 
#24169: Re:超過2s 請問該如何優化


fire5386 (becaidorz)

學校 : 國立清華大學
編號 : 115822
來源 : [140.114.253.77]
最後登入時間 :
2024-11-13 14:54:03
f607. 3. 切割費用 -- 2021年1月APCS | From: [61.230.46.90] | 發表日期 : 2021-01-25 12:51

#include  
#include
using namespace std;
int main(){
int n,m,t=0,k=2;
cin>>n>>m;
long long int lon[n+2]={0},num[n+1];
lon[2]=m;
for(int a=0;n>a;a++){
int b,c;
cin>>b>>c;
num[c]=b;
}
for(int a=1;n>=a;a++){
for(int b=1;n>=b;b++)
{
  if(num[a]>lon[b]&&lon[b+1]>num[a]){t=t+lon[b+1]-lon[b];k++;
for(int c=k;c>b+1;c--){lon[c]=lon[c-1];}
lon[b+1]=num[a];
break;}
}
}
cout<<t<<endl;
}


歡迎參考我的解法

https://66lemon66.blogspot.com/2021/01/zerojudge-f607-3-c.html

 
ZeroJudge Forum