BS 0.0.1 Runtime/Generic/Sequence

This commit is contained in:
ninemine
2025-06-12 22:50:33 +08:00
parent d7213d1d3e
commit 627dfca10d
2 changed files with 17 additions and 32 deletions

View File

@@ -9,19 +9,31 @@ namespace Convention
namespace Generics namespace Generics
{ {
class IIterator template<typename Element,typename ReadValueType = Element&>
class ISequenceIterator
{ {
public: public:
virtual ~ISequenceIterator() {}
virtual void Next() abstract;
virtual ReadValueType ReadValue() const abstract;
virtual decltype(auto) operator++()
{
}
ReadValueType operator++(int) noexcept(noexcept(operator++))
{
}
}; };
template<typename> template<typename Element, typename SequenceIterator = ISequenceIterator<Element>>
class ISequence class ISequence
{ {
public: public:
using iterator = std::enable_if<std::is_base_of_v<ISequenceIterator<Element>, SequenceIterator>, SequenceIterator>;
virtual ~ISequence() {} virtual ~ISequence() {}
virtual IIterator begin() abstract; virtual iterator begin() abstract;
virtual IIterator end() abstract; virtual iterator end() abstract;
}; };
/** /**

View File

@@ -7,35 +7,8 @@ using namespace std;
#include<map> #include<map>
using namespace std; using namespace std;
using ll = long long;
int n = 0;
const int N = 1e6 + 2;
ll a[N], f[N];
int main() int main()
{ {
// 请在此输入您的代码
map<int, int> flag;
cin >> n;
f[1] = 1;
f[2] = 1;
for (int i = 3; i <= n; i++)
{
f[i] = f[i - 1] + f[i - 2];
}
for (int i = 1; i <= n; i++)
{
int temp = 0;
cin >> temp;
if (temp % f[i] == 0)
{
flag[temp / f[i]]++;
}
}
int maxs = 0;
for (auto i = flag.begin(); i != flag.end(); ++i)
{
maxs = max(maxs, i->second);
}
cout << n - maxs;
return 0; return 0;
} }