Quantcast
Channel: 初心者タグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 21081

AtCoder 生活 64日目

$
0
0

64日目

今回はC問題、D問題1問ずつ解き、とバーチャル参加を2回しました。

問題難易度自力で解けたかかった時間
ABC167C122分11秒
ABC167D164分50秒

スクリーンショット 2020-05-24 13.19.56.png
スクリーンショット 2020-05-24 15.39.29.png

ABC153

A

#include <bits/stdc++.h>
#define rep(i,n) for(int i = 0;i < (n);i++)
usingnamespacestd;usingll=longlong;usingpii=pair<int,int>;intmain(){inth,a;cin>>h>>a;cout<<(h+a-1)/a<<endl;}

B

#include <bits/stdc++.h>
#define rep(i,n) for(int i = 0;i < (n);i++)
usingnamespacestd;usingll=longlong;usingpii=pair<int,int>;usingpil=pair<pii,int>;intmain(){inth,m;cin>>h>>m;rep(i,n){inta;cin>>a;h-=a;}if(h<=0)cout<<"Yes"<<endl;elsecout<<"No"<<endl;}

C

#include <bits/stdc++.h>
#define rep(i,n) for(int i = 0;i < (n);i++)
usingnamespacestd;usingll=longlong;usingpii=pair<int,int>;intmain(){lln,k;cin>>n>>k;if(n-k<=0){cout<<0<<endl;return0;}intans=0;vector<int>h(n);rep(i,n)cin>>h[i];sort(h.begin(),h.end());rep(i,n-k){ans+=h[i];}cout<<ans<<endl;}

ABC152

A

#include <bits/stdc++.h>
#define rep(i,n) for(int i = 0;i < (n);i++)
usingnamespacestd;usingll=longlong;usingpii=pair<int,int>;intmain(){intn,m;cin>>n>>m;if(n==m)cout<<"Yes"<<endl;elsecout<<"No"<<endl;}

B

#include <bits/stdc++.h>
#define rep(i,n) for(int i = 0;i < (n);i++)
usingnamespacestd;usingll=longlong;usingpii=pair<int,int>;usingpil=pair<pii,int>;intmain(){inta,b;cin>>a>>b;intx=min(a,b);inty=max(a,b);rep(i,y){cout<<x;}cout<<endl;}

C

#include <bits/stdc++.h>
#define rep(i,n) for(int i = 0;i < (n);i++)
usingnamespacestd;usingll=longlong;usingpii=pair<int,int>;intINF=1e9;intmain(){intn;cin>>n;intm=INF;intcnt=0;rep(i,n){inta;cin>>a;if(m>a)m=a;elsecnt++;}intans=n-cnt;cout<<ans<<endl;}

ABC167_C

#include <bits/stdc++.h>
#define rep(i,n) for(int i = 0;i < (n);i++)
usingnamespacestd;usingll=longlong;usingpii=pair<int,int>;constintINF=2e9;intmain(){intn,m,x;cin>>n>>m>>x;vector<vector<int>>a(n,vector<int>(m));vector<int>c(n);rep(i,n){cin>>c[i];rep(j,m)cin>>a[i][j];}intans=INF;rep(s,1<<n){intcost=0;vector<int>d(m);rep(i,n){if(s>>i&1){cost+=c[i];rep(j,m)d[j]+=a[i][j];}}boolok=true;rep(j,m)if(d[j]<x)ok=false;if(ok)ans=min(ans,cost);}if(ans==INF)cout<<-1<<endl;elsecout<<ans<<endl;}

解くのにかかった時間:122分11秒
感想:bit全探索にまだ慣れてない…

ABC167_D

#include <bits/stdc++.h>
#define rep(i,n) for(int i = 0;i < (n);i++)
usingnamespacestd;usingll=longlong;usingpii=pair<int,int>;intmain(){lln,k;cin>>n>>k;vector<int>a(n);rep(i,n)cin>>a[i];vector<int>s;vector<int>ord(n+1,-1);intc=1;intl=0;intv=1;while(ord[v]==-1){ord[v]=s.size();s.push_back(v);v=a[v-1];}c=s.size()-ord[v];l=ord[v];if(k<l)cout<<s[k]<<endl;else{k-=l;k%=c;cout<<s[l+k]<<endl;}}

解くのにかかった時間:164分50秒
感想:ある程度の形はわかっていたが解ききれなかった

最後に

C,D問題をスムーズに解けるように緑diffの問題にも慣れていきたい


Viewing all articles
Browse latest Browse all 21081

Trending Articles