제출 #40452

#제출 시각아이디문제언어결과실행 시간메모리
40452PajarajaNice sequence (IZhO18_sequence)C++14
76 / 100
669 ms27000 KiB
#include <bits/stdc++.h> using namespace std; vector<int> g[200007]; int pv[200007],deg[200007],parc[200007]; bool provera(int s,int n,int m) { fill(deg,deg+s+1,0); for(int i=0;i<=s;i++) g[i].clear(); for(int i=n;i<=s;i++) { g[i].push_back(i-n); deg[i-n]++; } for(int i=m;i<=s;i++) { g[i-m].push_back(i); deg[i]++; } queue<int> q; for(int i=0;i<=s;i++) if(deg[i]==0) q.push(i); int cnt=0; while(!q.empty()) { int u=q.front(); pv[u]=cnt++; q.pop(); for(int i=0;i<g[u].size();i++) { deg[g[u][i]]--; if(deg[g[u][i]]==0) q.push(g[u][i]); } } if(cnt<=s) return false; return true; } int binarna(int l,int r,int n,int m) { if(l==r) return l; int s=(l+r)/2; if(!provera(s,n,m)) return binarna(l,s,n,m); else return binarna(s+1,r,n,m); } int main() { int t; scanf("%d",&t); while(t--) { int n,m; scanf("%d%d",&n,&m); int x=binarna(0,m+n+5,n,m); printf("%d\n",x-1); provera(x-1,n,m); for(int i=1;i<x;i++) printf("%d ",pv[i]-pv[i-1]); printf("\n"); } }

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

sequence.cpp: In function 'bool provera(int, int, int)':
sequence.cpp:27:16: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   for(int i=0;i<g[u].size();i++) 
                ^
sequence.cpp: In function 'int main()':
sequence.cpp:46:16: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  scanf("%d",&t);
                ^
sequence.cpp:50:22: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   scanf("%d%d",&n,&m);
                      ^
#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...