Aizu Online Judge(AOJ)の過去問から、その提出コードの解答例です。
・問題 "Quiz"
https://onlinejudge.u-aizu.ac.jp/problems/2825
・クイズ
僕が作成、提出したコードは、以下のとおりです。
Aizu Online Judge in C++ #Volume28 : 2825 - Quiz
/* Aizu Online Judge in C++ #Volume28 : 2825 - Quiz https://onlinejudge.u-aizu.ac.jp/problems/2825 提出コードの解答例 https://neguse-atama.hatenablog.com */ #include<bits/stdc++.h> using namespace std; using ll=long long; ll n,m,s,k,c; int main(void){ while(cin>>n>>m,n){ ll v1[100010]={},v2[100010]={}; for(ll i=0;i<m;i++){ cin>>s>>k; for(ll j=0;j<k;j++){ cin>>c; c--; v1[c]+=s; if(k==1){ v2[c]=s; } } } ll ans=0; for(ll i=0;i<n;i++){ for(ll j=0;j<n;j++){ if(i!=j){ ans=max(ans,v1[i]-v2[j]+1); } } } cout<<ans<<endl; } return 0; }
設問の出典は、プログラミング問題のオンライン採点システム「Aizu Online Judge(AOJ)」です。
http://judge.u-aizu.ac.jp/onlinejudge/