プログラミング問題でスキルレベルを評価、転職するサイトのpaizaでオンライン参加型のイベント「paizaオンラインハッカソン4 Lite」が開催されたので、投稿してみました。
公式に投稿コードを公開してもOKということだったので、せっかくなのでブログにまとめました。
1,2問目はそのまま条件に総和を出すようにしています。
3問目は合計値を逐次更新していき、最大値を出力するようにしました。もう少し高速化の手法がありそうな気はしましたが(このイベント、毎回計測表示限界の0.01秒で出してる人いますし) 、とりあえず実行時間的には問題なさそうだったので、以下のコードで提出してみました。
(そもそも、コード自体がもう少し整理できそう)
ソースコード
1問目
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include <iostream> | |
using namespace std; | |
int main(void){ | |
int n,ans=0; | |
cin>>n; | |
for(int i=0;i<n;i++) | |
{ | |
int tmp; | |
cin>>tmp; | |
ans+=tmp; | |
} | |
cout<<ans<<endl; | |
return 0; | |
} |
2問目
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include <iostream> | |
#include <algorithm> | |
using namespace std; | |
int main(void){ | |
int n,ans=0; | |
cin>>n; | |
for(int i=0;i<n;i++) | |
{ | |
int t,s,p; | |
cin>>t>>s>>p; | |
ans+=max(t-s,0)*p; | |
} | |
cout<<ans<<endl; | |
return 0; | |
} | |
3問目
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include <iostream> | |
#include <algorithm> | |
using namespace std; | |
int main(void){ | |
int t,n,ans=0; | |
cin>>t>>n; | |
int m[n+1]; | |
for(int i=0;i<t;i++) | |
{ | |
cin>>m[i]; | |
ans+=m[i]; | |
} | |
int now=ans; | |
for(int i=t;i<n;i++) | |
{ | |
cin>>m[i]; | |
now=now+m[i]-m[i-t]; | |
ans=max(ans,now); | |
} | |
cout<<ans<<endl; | |
return 0; | |
} | |
結果
実際にpaiza上に投稿した結果を以下にまとめました。
– https://paiza.jp/poh/enkoi-second/940fad1e
– https://paiza.jp/poh/enkoi-third/72be7929
– https://paiza.jp/poh/enkoi-ending/65140932