QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#773406 | #9790. Make Swamp Great Again | ucup-team3564# | WA | 33ms | 81736kb | C++14 | 2.1kb | 2024-11-23 08:43:39 | 2024-11-23 08:43:44 |
Judging History
answer
#include<bits/stdc++.h>
using namespace std;
const long long mod=1e9+7;
long long T,a,b,c,d[1000001],v[1000001],o,h[1000001],fa[1000001],q,w,e,an,cn,fac[1000001],inv[1000001],st[1000001],u[1000001],de[1000001],idd;
char s[1000001];
struct p{long long q,w,e;}l[1000001];
long long pow_(long long qq,long long ww){long long ee=1;while(ww){if(ww&1) ee*=qq,ee%=mod;qq*=qq,qq%=mod,ww>>=1;}return ee%mod;}
inline int read(){int x=0,f=1;char c=getchar();while(c<'0'||c>'9'){if(c=='-')f=-1;c=getchar();}while(c>='0'&&c<='9'){x=(x<<3)+(x<<1)+c-'0';c=getchar();}return x*f;}
void add(long long qq,long long ww){l[++o].q=ww,l[o].w=h[qq],h[qq]=o;}
long long gcd(long long qq,long long ww){return !ww?qq:gcd(ww,qq%ww);}
long long find(long long qq){return qq==fa[qq]?qq:fa[qq]=find(fa[qq]);}
void merge(long long qq,long long ww){long long f1=find(qq),f2=find(ww);if(f1==f2) return;fa[f1]=f2;}
long long C(long long qq,long long ww){return fac[qq]*inv[ww]%mod*inv[qq-ww]%mod;}
vector<int> qu[1000001];
vector<int> ve[1000001];
void dfs(int qq,int ww)
{
de[qq]=de[ww]+1;
for(int i=0;i<qu[qq].size();i++)
{
if(qu[qq][i]!=ww) dfs(qu[qq][i],qq);
}
}
void dfs1(int qq,int ww,int ee)
{
if(ww!=ee)
{
l[++cn]=p{ee,ww,qq};
}
for(int i=0;i<qu[qq].size();i++)
{
int tt=qu[qq][i];
if(tt!=ww)
{
dfs1(tt,qq,ee);
}
}
}
long long dp[1000001][2],mx[1000001];
int main()
{
// freopen("1.in","r",stdin);
srand((unsigned)(time(0)^(*new int)));
fac[0]=1;for(int i=1;i<=1000000;i++) fac[i]=fac[i-1]*i%mod;
inv[1000000]=pow_(fac[1000000],mod-2);for(int i=999999;i>=0;i--) inv[i]=inv[i+1]*(i+1)%mod;
scanf("%lld",&a);
for(int i=1;i<=a;i++)
{
scanf("%lld",&d[i]);
v[d[i]]++;
}
for(int i=1;i<=a-2;i++)
{
if(d[i]==min(d[i],min(d[i+1],d[i+2]))||d[i]==max(d[i],max(d[i+1],d[i+2]))) h[d[i]]=1;
}
for(int i=2;i<=a-1;i++)
{
if(d[i]==min(d[i],min(d[i-1],d[i+1]))||d[i]==max(d[i],max(d[i-1],d[i+1]))) h[d[i]]=1;
}
for(int i=3;i<=a;i++)
{
if(d[i]==min(d[i],min(d[i-1],d[i-2]))||d[i]==max(d[i],max(d[i-1],d[i-2]))) h[d[i]]=1;
}
for(int i=1;i<=a;i++)
{
printf("%lld ",a-v[d[i]]+1-h[d[i]]);
}
return 0;
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 20ms
memory: 75616kb
input:
6 4 7 47 4 77 47
output:
4 6 4 4 5 4
result:
ok single line: '4 6 4 4 5 4 '
Test #2:
score: 0
Accepted
time: 8ms
memory: 77640kb
input:
6 4 7 47 4 77 47
output:
4 6 4 4 5 4
result:
ok single line: '4 6 4 4 5 4 '
Test #3:
score: 0
Accepted
time: 21ms
memory: 81736kb
input:
34282 90425 22450 88504 38625 50256 24285 29693 59937 55013 65148 74544 79337 84799 18379 96719 45091 46959 34827 91934 5519 57325 75622 98980 11649 42236 14474 44579 97335 71798 95780 52228 34730 42473 53258 62204 12246 15037 67194 47 41533 22010 29201 65866 68828 26827 16763 76098 73625 5875 92559...
output:
34281 34281 34281 34281 34281 34280 34281 34281 34281 34281 34281 34281 34281 34280 34281 34281 34281 34281 34281 34281 34281 34281 34280 34281 34281 34281 34281 34280 34281 34279 34281 34281 34281 34281 34281 34281 34282 34281 34281 34281 34281 34281 34280 34281 34281 34280 34281 34280 34281 34279 ...
result:
ok single line: '34281 34281 34281 34281 34281 ... 34280 34281 34281 34281 34281 '
Test #4:
score: -100
Wrong Answer
time: 33ms
memory: 81680kb
input:
92272 71762 25620 15348 35776 16931 76528 9558 49040 89138 57674 33861 40705 81647 81160 54982 56282 86192 69086 78613 83753 91918 9767 22299 44812 2091 70190 23588 60830 54801 12210 51232 33669 67124 11981 62462 85526 36775 48420 26359 71963 12493 43080 56840 28514 64338 86901 10478 61736 64445 428...
output:
92269 92272 92271 92270 92271 92270 92270 92268 92271 92271 92270 92271 92270 92271 92269 92269 92270 92271 92270 92270 92269 92271 92268 92271 92271 92270 92269 92269 92270 92269 92271 92271 92271 92271 92270 92270 92270 92270 92270 92270 92269 92272 92271 92268 92271 92269 92271 92270 92271 92271 ...
result:
wrong answer 1st lines differ - expected: '92269 92271 92271 92270 92271 ...8 92269 92271 92270 92270 92270', found: '92269 92272 92271 92270 92271 ... 92269 92271 92270 92270 92270 '