結果
| 問題 |
No.568 じゃんじゃん 落とす 委員会
|
| コンテスト | |
| ユーザー |
vjudge1
|
| 提出日時 | 2025-05-17 16:51:46 |
| 言語 | C++17(gcc12) (gcc 12.3.0 + boost 1.87.0) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 1,154 bytes |
| コンパイル時間 | 6,392 ms |
| コンパイル使用メモリ | 208,520 KB |
| 実行使用メモリ | 7,848 KB |
| 最終ジャッジ日時 | 2025-05-17 16:51:56 |
| 合計ジャッジ時間 | 7,803 ms |
|
ジャッジサーバーID (参考情報) |
judge2 / judge3 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | WA * 26 |
コンパイルメッセージ
main.cpp: In function 'bool P(long long int, long long int, long long int)':
main.cpp:18:22: warning: 'cnt2' may be used uninitialized [-Wmaybe-uninitialized]
18 | return cnt2>=m;
| ^
main.cpp:11:20: note: 'cnt2' was declared here
11 | }int cur=0,cnt2;
| ^~~~
main.cpp: In function 'int main()':
main.cpp:54:25: warning: 'cnt2' may be used uninitialized [-Wmaybe-uninitialized]
54 | if(P(i,mid,0)){
| ^~
main.cpp:11:20: note: 'cnt2' was declared here
11 | }int cur=0,cnt2;
| ^~~~
main.cpp:43:33: warning: 'cnt2' may be used uninitialized [-Wmaybe-uninitialized]
43 | if(P(i,mid,1)){
| ^~
main.cpp:11:20: note: 'cnt2' was declared here
11 | }int cur=0,cnt2;
| ^~~~
ソースコード
#include<bits/stdc++.h>
#define int long long
using namespace std;
const int N=100010;
int xx[N],a[N],b[N];
int n,m,ans=LLONG_MAX;
bool P(int x,int y,int f)
{
if(f==1){
int t=y;y=x;x=t;
}int cur=0,cnt2;
for(int i=1;i<=n;++i){
cur=xx[i];
cur+=(a[i]>=x);
cur+=(b[i]>=y);
cnt2+=(cur>=2);
}
return cnt2>=m;
}
int sc(int x,int y,int f){
if(f==1){
int t=y;y=x;x=t;
}int res=0,now=0;
for(int i=1;i<=n;++i) {
now=xx[i];
now+=(a[i]>=x);
now+=(b[i]>=y);
res+=(now>=3);
}return res;
}signed main(){
freopen("difficulty.in","r",stdin);
freopen("difficulty.out","w",stdout);
cin>>n>>m;
int mxa=-1,mxb=-1;
for(int i=1;i<=n;++i){
cin>>xx[i]>>a[i]>>b[i];
mxa=max(mxa,a[i]);mxb=max(mxb,b[i]);
}if(mxb>mxa){
for(int i=1;i<=mxb+1;++i){
int l=0,r=mxa+1,res=0;
while(l<=r){
int mid=l+(r-l)/2;
if(P(i,mid,1)){
res=mid;
l=mid+1;
}else r=mid-1;
}ans=min(ans,sc(i,res,1));
}cout<<ans;
return 0;
}for(int i=1;i<=mxa+1;++i){
int l=0,r=mxb+1,res=0;
while(l<=r){
int mid=l+(r-l)/2;
if(P(i,mid,0)){
res=mid;
l=mid+1;
}else r=mid-1;
}ans=min(ans,sc(i,res,0));
}cout<<ans;
return 0;
}
vjudge1