Task: | Milestone Counter |
Sender: | wavelets |
Submission time: | 2015-11-25 18:24:22 +0200 |
Language: | C++ |
Status: | READY |
Result: | WRONG ANSWER |
test | verdict | time | |
---|---|---|---|
#1 | WRONG ANSWER | 0.06 s | details |
#2 | ACCEPTED | 0.05 s | details |
#3 | WRONG ANSWER | 0.06 s | details |
#4 | WRONG ANSWER | 0.05 s | details |
#5 | ACCEPTED | 0.06 s | details |
#6 | ACCEPTED | 0.05 s | details |
Code
#include <vector>#include <valarray>#include <deque>#include <iostream>#include <set>using namespace std;int gcd(int a,int b){return b==0?a:gcd(b,a%b);}struct fraction:pair<int,int>{fraction(int a=0,int b=1):pair<int,int>(a,b){int c=gcd(a,b);first/=c;second/=c;}};int main(){int m,n;cin>>m>>n;vector<int> M(m);vector<int> N(n);for(int i=0;i<m;i++)cin>>M[i];for(int i=0;i<n;i++)cin>>N[i];int v=M[0];for(auto&it:M)it-=v;deque<int> qq(N.begin(),N.begin()+m);set<fraction> a;set<int> b;for(int i=0;i<=n-m;++i){fraction vv(qq[1]-qq[0],M[1]);for(int j=2;j<m;++j){if(vv==fraction(qq[j]-qq[0],M[j]))continue;goto asd;}a.insert(vv);b.insert(qq[1]-qq[0]);asd: qq.pop_front();if(i+m<n)qq.push_back(N[i+m]);}cout<<a.size()<<'\n';int cnt=b.size();for(auto&it:b)cout<<it<<" \n"[--cnt==0];return 0;}
Test details
Test 1
Verdict: WRONG ANSWER
input |
---|
17 47 100 101 102 104 110 116 128 16... |
correct output |
---|
11 1 6 36 216 1296 7776 46656 279... |
user output |
---|
7 1 6 36 216 1296 7776 46656 |
Test 2
Verdict: ACCEPTED
input |
---|
500 1000 100 102 104 106 108 110 112 11... |
correct output |
---|
1 2 |
user output |
---|
1 2 |
Test 3
Verdict: WRONG ANSWER
input |
---|
12 40 1 2 4 8 16 32 64 128 256 512 1... |
correct output |
---|
18 1 8192 16384 32768 65536 13107... |
user output |
---|
8 1 8192 16384 32768 65536 13107... |
Test 4
Verdict: WRONG ANSWER
input |
---|
2 1000 131345678912349 23234567891234... |
correct output |
---|
999 3 5 7 9 11 13 15 17 19 21 23 2... |
user output |
---|
1 0 |
Test 5
Verdict: ACCEPTED
input |
---|
22 102 100 101 102 104 106 110 114 12... |
correct output |
---|
0 |
user output |
---|
0 |
Test 6
Verdict: ACCEPTED
input |
---|
22 52 100 101 102 104 106 110 114 12... |
correct output |
---|
16 1 2 4 8 16 32 64 128 256 512 1... |
user output |
---|
16 1 2 4 8 16 32 64 128 256 512 1... |