QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#176700 | #5573. Holiday Regifting | qzez | WA | 14ms | 4168kb | C++14 | 1.0kb | 2023-09-11 21:39:53 | 2023-09-11 21:39:54 |
Judging History
answer
#include<bits/stdc++.h>
using namespace std;
using ll=long long;
template<typename T>
ostream& operator << (ostream &out,const vector<T>&x){
if(x.empty())return out<<"[]";
out<<'['<<x[0];
for(int len=x.size(),i=1;i<len;i++)out<<','<<x[i];
return out<<']';
}
template<typename T>
vector<T> ary(const T *a,int l,int r){
return vector<T>{a+l,a+1+r};
}
template<typename T>
void debug(T x){
cerr<<x<<'\n';
}
template<typename T,typename ...S>
void debug(T x,S ...y){
cerr<<x<<' ',debug(y...);
}
const int N=1e4+10,mod=998244353;
int n,m,c[N];
ll a[N];
vector<int>to[N];
int main(){
scanf("%d%d",&n,&m);
for(int i=1;i<=n;i++)scanf("%d",&c[i]);
for(int u,v;m--;){
scanf("%d%d",&u,&v);
to[u].push_back(v);
}
a[1]=1;
int ans=1;
for(int i=1;i<=n;i++){
if(!a[i])continue;
int v=c[i]/__gcd(a[i],(ll)c[i]);
ans=1ll*ans*v;
for(int j=i;j<=n;j++)a[j]*=v;
for(int u=i;u<=n;u++){
for(int v:to[u]){
a[v]+=a[u]/c[u];
}
a[u]%=c[u];
}
}
cout<<ans<<endl;
return 0;
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 1ms
memory: 3612kb
input:
5 10 4 3 2 2 2 1 3 3 4 1 4 1 5 2 5 2 4 1 2 2 3 3 5 4 5
output:
24
result:
ok 1 number(s): "24"
Test #2:
score: 0
Accepted
time: 1ms
memory: 3960kb
input:
3 0 95 13 77
output:
95
result:
ok 1 number(s): "95"
Test #3:
score: 0
Accepted
time: 1ms
memory: 3764kb
input:
12 14 6 7 17 16 20 14 17 16 6 11 6 14 4 11 3 5 2 5 9 11 7 12 1 3 5 9 3 7 3 8 4 9 1 9 4 7 2 11 1 12
output:
8739360
result:
ok 1 number(s): "8739360"
Test #4:
score: 0
Accepted
time: 0ms
memory: 3612kb
input:
1 0 2
output:
2
result:
ok 1 number(s): "2"
Test #5:
score: 0
Accepted
time: 1ms
memory: 3964kb
input:
50 97 2 2 2 2 2 11 13 7 2 2 2 2 2 2 5 2 5 2 3 2 2 2 2 2 2 2 2 13 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17 26 17 24 17 38 15 28 23 28 45 50 16 28 7 37 7 31 5 28 2 28 13 28 6 40 3 40 3 7 44 46 11 40 12 28 15 29 15 17 28 49 5 48 6 19 28 41 7 17 27 28 33 38 26 28 2 39 32 40 8 17 17 28 28 42 6 46 2...
output:
68640
result:
ok 1 number(s): "68640"
Test #6:
score: -100
Wrong Answer
time: 14ms
memory: 4168kb
input:
500 30000 109 118 125 106 124 114 125 118 110 113 121 132 102 113 117 118 131 104 113 116 113 114 98 134 123 135 124 124 105 105 98 108 118 109 105 117 109 104 109 116 100 112 106 109 113 103 113 108 111 97 125 96 102 106 130 107 111 94 124 104 109 113 101 100 95 105 101 100 106 100 106 86 105 83 11...
output:
0
result:
wrong answer 1st numbers differ - expected: '442991751', found: '0'