QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#381447 | #5513. Advertisement 2 | stegatxins0# | Compile Error | / | / | C++20 | 2.4kb | 2024-04-07 17:51:20 | 2024-07-04 03:33:46 |
Judging History
answer
// {{{
#include <bits/stdc++.h>
using namespace std;
#ifndef ONLINE_JUDGE
#include "debug.cpp"
#else
#define debug(...)
#define debugArr(...)
#endif
using ll = long long;
const int inf = 1073741823;
const ll infl = 1LL << 60;
template<class T>bool chmax(T &a, const T &b) { if (a<b) { a=b; return 1; } return 0; }
template<class T>bool chmin(T &a, const T &b) { if (b<a) { a=b; return 1; } return 0; }
#define rep(i, b) for (auto i = 0; i < (b); i++)
#define reps(i, b) for (auto i = 1; i <= (b); i++)
// }}}
const int mxN = 500001;
int n,ans,curx,cure;
bool visited[mxN];
bool influ[mxN][mxN];
struct node{
int x,e;
}re[mxN];
bool cmp(const node a, const node b){
return a.e > b.e;
}
int main() {
scanf("%d",&n);
bool subtask1=1;
memset(visited,0,sizeof(visited));
memset(influ,0,sizeof(influ));
for(int i=1; i<=n; i++){
scanf("%d%d",&re[i].x,&re[i].e);
if(i>1 && re[i].e != re[i-1].e)subtask1=0;
}
if(subtask1){
set<int> ss;
for(int i=1; i<=n; i++){
ss.insert(re[i].x);
}
printf("%d",(int)ss.size());
return 0;
}
//sort(re+1, re+n+1, cmp);
for(int i=1; i<=n; i++){
curx = re[i].x;
cure = re[i].e;
for(int j=1; j<=n; j++){
if(cure - re[j].e >= abs(curx - re[j].x))influ[i][j] = 1;
}
}
bool allclear=0;
//for(int i=1; i<=n; i++){
//allclear = 1;
//for(int j=1; j<=n; j++){
//for(int j=1; j<=n; j++){
//}
////visited[j] |= influ[i][j];
//if(!visited[j] && influ[i][j])a
//if(!visited[j])allclear=0;
//}
//}
int ans=0;
bool alrput[mxN];
memset(alrput,0,sizeof(alrput));
while(true){
int curmax=0,curidx=0;
for(int i=1; i<=n; i++){
if(alrput[i])continue;
int cur=0;
for(int j=1; j<=n; j++){
if(!visited[j] && influ[i][j])cur++;
}
if(cur > curmax){curmax = cur; curidx=i;}
}
alrput[curidx]=1;
allclear=1;
for(int j=1; j<=n; j++){
visited[j] |= influ[curidx][j];
if(!visited[j])allclear=0;
}
ans++;
if(allclear)break;
}
//debug(ans);
printf("%d",ans);
}
// biggest problem here is dat u can still donate to the one alr visited
// subtask 1, since all e is equal, just count the number of unique coordinates
详细
answer.code: In function ‘int main()’: answer.code:41:10: warning: ignoring return value of ‘int scanf(const char*, ...)’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 41 | scanf("%d",&n); | ~~~~~^~~~~~~~~ answer.code:46:14: warning: ignoring return value of ‘int scanf(const char*, ...)’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 46 | scanf("%d%d",&re[i].x,&re[i].e); | ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /tmp/cchHJ85c.o: in function `main': answer.code:(.text.startup+0x31): relocation truncated to fit: R_X86_64_PC32 against symbol `n' defined in .bss section in /tmp/cchHJ85c.o answer.code:(.text.startup+0x3f): relocation truncated to fit: R_X86_64_PC32 against symbol `visited' defined in .bss section in /tmp/cchHJ85c.o answer.code:(.text.startup+0x84): relocation truncated to fit: R_X86_64_PC32 against symbol `n' defined in .bss section in /tmp/cchHJ85c.o answer.code:(.text.startup+0xe8): relocation truncated to fit: R_X86_64_PC32 against symbol `n' defined in .bss section in /tmp/cchHJ85c.o answer.code:(.text.startup+0x17c): relocation truncated to fit: R_X86_64_PC32 against symbol `cure' defined in .bss section in /tmp/cchHJ85c.o answer.code:(.text.startup+0x182): relocation truncated to fit: R_X86_64_PC32 against symbol `curx' defined in .bss section in /tmp/cchHJ85c.o answer.code:(.text.startup+0x1ad): relocation truncated to fit: R_X86_64_PC32 against symbol `visited' defined in .bss section in /tmp/cchHJ85c.o answer.code:(.text.startup+0x251): relocation truncated to fit: R_X86_64_PC32 against symbol `visited' defined in .bss section in /tmp/cchHJ85c.o answer.code:(.text.startup+0x2ab): relocation truncated to fit: R_X86_64_PC32 against symbol `n' defined in .bss section in /tmp/cchHJ85c.o answer.code:(.text.startup+0x35e): relocation truncated to fit: R_X86_64_PC32 against symbol `n' defined in .bss section in /tmp/cchHJ85c.o collect2: error: ld returned 1 exit status